如果选择UITextField
并显示键盘,如果我点按了视图的其他部分,键盘就会消失。
如果我点击另一个UITextField
,键盘会保持向上,取消选择第一个文本字段,并且没有任何反应。然后我需要再次点击另一个UITextFIeld
以进行选择并显示键盘。
当选择第一个UITextField
时,是否可以立即访问第二个UITextField?
答案 0 :(得分:1)
如果您在textFieldDidEndEditing
中重新加载表格视图,则会以这种方式中断选择。不要那样做。
答案 1 :(得分:1)
尝试一下,按下另一个视图应该调用fn以下。
-(void)disappearKey{
[self.view endEditing:YES];
}
键盘消失后,点击任意文本字段,都会出现键盘。
答案 2 :(得分:0)
首先,我认为这是一个错误,当点击另一个UITextField或UITextView时,键盘不会被解除并再次打开。应该报告,Apple应该修复它。
使用文本字段委托方法并注册键盘通知,如果用户点击另一个文本字段并且键盘未关闭并重新打开,则应该可以手动跟踪。至少你应该能够检测到何时发生这种情况并通过[textField resignFirstResponder]手动关闭键盘;
键盘通知如下:
UIKeyboardWillShowNotification
UIKeyboardDidShowNotification
UIKeyboardWillHideNotification
UIKeyboardDidHideNotification
我很确定你知道UITextfield和textview委托方法
– textFieldShouldBeginEditing:
– textFieldDidBeginEditing:
– textFieldShouldEndEditing:
– textFieldDidEndEditing:
我现在不是一个活跃的项目,所以我不确定我是否只是忽略了这个问题,但我不记得这件事发生在我身上。
答案 3 :(得分:0)
您可以使用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;
}