在iOS7中的UITextFields之间进行点击
当selectUITextField
并显示键盘时,如果点击视图的其他部分,则键盘消失。
如果我点击另一个UITextField
,键盘保持不变,第一个文本字段被取消select,什么都不会发生。 然后我需要点击另一个UITextFIeld
select发生和键盘出现。
有没有办法使第二个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; }