在iOS7中的UITextFields之间进行点击

当selectUITextField并显示键盘时,如果点击视图的其他部分,则键盘消失。

如果我点击另一个UITextField ,键盘保持不变,第一个文本字段被取消select,什么都不会发生。 然后我需要点击另一个UITextFIeldselect发生和键盘出现。

有没有办法使第二个UITextField立即访问时,第一个UITextField被选中?

如果你在textFieldDidEndEditing重新加载tableview,你将以这种方式破坏select。 不要这样做。

尝试一下,按另一个视图应该在fn下面调用。

 -(void)disappearKey{ [self.view endEditing:YES]; } 

键盘消失后,点击任何文本框,都会出现键盘。

首先,我认为它是一个错误的键盘不被解雇,再次打开另一个UITextField或UITextView。 应该报告,苹果应该修复它。

使用文本字段委托方法和注册键盘通知应该可以手动跟踪,如果用户敲击另一个文本字段,键盘没有closures并重新打开。 至less应该能够检测到这种情况,并通过[textField resignFirstResponder]手动closures键盘。

键盘通知如下:

 UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotification UIKeyboardDidHideNotification 

我很确定你知道UITextfield和textview委托方法

  – textFieldShouldBeginEditing: – textFieldDidBeginEditing: – textFieldShouldEndEditing: – textFieldDidEndEditing: 

我目前还没有进行一个积极的项目,所以我不确定我是否忽略了这个问题,但我不记得这一切发生在我身上。

  • 你可以使用BSKeyboardControls 。 只是看演示,并决定使用或不。

  • 或者你可以做你必须依次设置标签到每个文本字段
    在uiview中。 然后使用下面的代码。

     -(BOOL)textFieldShouldReturn:(UITextField*)textField { NSInteger nextTag = textField.tag + 1; UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; if (nextResponder) { [nextResponder becomeFirstResponder]; } else { [textField resignFirstResponder]; } return NO; }