如何在iOS 5中添加多个UITextfield?
如何创build和添加多个UITextField到我的控制器?
我可以创build一个,就像这样:
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(5,5,100,25)]; tf.borderStyle = UITextBorderStyleRoundedRect; [tf setReturnKeyType:UIReturnKeyDefault]; [tf setEnablesReturnKeyAutomatically:YES]; [tf setDelegate:self]; [self.view addSubview:tf]
但是,我需要为每个UITextField做这个吗?
什么是模板UI控件的最佳方法?
把它放在一个循环中,抵消每个文本字段的Y位置并标记每个文本字段:
for (int i = ; i < numberOfTextFieldsNeeded; i++) { UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(5, 5 + 35 * i ,100,25)]; // 10 px padding between each view tf.tag = i + 1; // tag it for future reference (+1 because tag is 0 by default which might create problems) tf.borderStyle = UITextBorderStyleRoundedRect; [tf setReturnKeyType:UIReturnKeyDefault]; [tf setEnablesReturnKeyAutomatically:YES]; [tf setDelegate:self]; [self.view addSubview:tf] // don't forget to do [tf release]; if not using ARC }
然后在委托方法中,根据调用每个委托方法的textField的标签执行操作。 例如,当用户点击返回键时切换到下一个文本视图:
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField { [textField resignFirstResponder]; UITextField *nextTextField = [self.view viewWithTag:textField.tag + 1]; [nextTextField becomeFirstResponder]; }
请记住,在Objective-C中向nil发送消息不会崩溃,所以用户在最后一个文本字段中返回键作为UITextField *nextTextField = [self.view viewWithTag:textField.tag + 1];
将返回零,并调用becomeFirstResponder
nil将无所事事。 但是你可以检查nextTextField是否为零,然后做其他的事情,无论你喜欢什么。
您可以使用界面构build器来创build一个视图(大于屏幕尺寸)并以编程方式将其添加到scrollView。 这在我看来是最好的方法。
- Swiftreplacestring中的多个字符
- 和UIGestureRecognizer一起听UITouch事件
- 如何为移动应用程序创build无密码login
- iOS – closuresWiFi的地理围栏
- 带IB的UITableViewHeaderFooterView
- iOS CoreBluetooth:centralManager:didConnectPeripheral / didFailToConnectPeripheral:没有被调用
- 大阪混合飞跃研究#10 –试试! Swift Tokyo Report Report #tryswiftconf
- 如何在UINavigationBar中添加UISegmentedControl?
- 如何确定是否编译Xcode中的64位iOS