在装有 iOS 6 GM 的 iPad 上。我有 6 个 UITextFields、3 个 UITextViews 和一个触发弹出框/操作表的 UIButton。
当我选择 UITextFields 或 UITextViews 之一时,键盘会弹出并出现光标,但我无法输入文本。如果我按 UIButton 显示弹出窗口,然后点击它的外部以将其关闭并返回到 UITextFields 或 UITextViews,它们就会起作用。
我有 UITextxxxx.delegate = self;为他们所有人设置。在我的 .h 文件中的 xibs、UITextFieldDelegate 和 UITextViewDelegate 中选中“Enabled”和“User Interaction Enabled”以及:
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
return YES;
}
- (IBAction)textFieldReturn:(id)sender {
[sender resignFirstResponder];
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
if (textView == notestextView){
[notestextView becomeFirstResponder];
}
if (textView == notestextViewTwo){
[notestextViewTwo becomeFirstResponder];
}
if (textView == notestextViewThree){
[notestextViewThree becomeFirstResponder];
}
return YES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView {
return YES;
}
我什至尝试[xxxxxxx成为FirstResponder];在 viewDidLoad 中。这会弹出键盘并将光标放在运行时的字段中,但我仍然无法输入,直到我点击 UIButton 以显示弹出窗口。
有人知道为什么我无法在字段中输入内容以及为什么调用弹出窗口“修复它”?
9/18 更新:我在我的应用程序中推送了一个新视图,该视图只有一个带有文本字段和文本视图的视图。代表已全部就位。同样的行为。出现键盘和光标,但无法打字。这就排除了 popovercontroller 搞乱事情的情况。
我开始强烈认为这是 iOS 6 的一个错误。这与我在 iOS 4 和 5 上的 iPhone 版本应用程序中看到的视图几乎相同,而且我从来没有遇到过问题。 iPhone 和 iPad 版本之间的唯一区别是图像选择器的呈现方式。您必须使用 iPad 的弹出窗口。这就是为什么我认为弹出窗口委托与此有关。
在 iOS 6 中实现 UITextFields 和 UITextViews 之间是否存在我不知道的根本区别?似乎不太可能。
如果它可以帮助我的应用程序像这样流动:
主视图有 10 个按钮
- 每个按钮通过导航控制器推送一个表格视图
- 表视图推送详细视图 - 文本字段和文本视图表现出上述行为
- tableview 还有一个添加按钮,可推动模式视图添加新项目 - 文本字段和文本视图表现出上述行为