我有一个分组样式UITableView,其HeaderView是从另一个.xib加载的。
HeaderView中有4个UITextField:
Main TableView(带有节和行)也用UITextFields填充。
我可以正确显示键盘,并在触摸可显示键盘的所有UITextField的完成按钮时解除。
我可以让UIPickerView正确显示并关闭(使用自定义保存/取消按钮)。
我遇到的问题是混合两者......
当我执行以下操作时,我会产生混合效果:
步骤1:触摸第一个UITextField以开始使用Keybard输入数据。 第2步:在UITextField中输入一些数据。 第3步:触摸显示UIPickerView而不是键盘的UITextField。
结果是键盘和我的自定义UIPickerView同时显示,键盘实际显示在我的UIPicker的顶部!
有关如何防止这种情况发生的任何建议吗?
答案 0 :(得分:0)
需要显示一些代码,但很可能你在调用UIPickerView之前没有调用[myTextField resignFirstResponder]。
答案 1 :(得分:0)
您需要为textField重新签名键盘。从你没有这样做的事实来看,我猜你也没有退出pickerView。因此,您需要重新签名,否则他们将继续留在屏幕上
重新启动textField。
UITextFieldDelegate
实施
- (BOOL) textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return 1;
}
退出挑选者视图:
将选择器视图作为您的媒体资源实施,并在[self.yourpickerview resignFirstResponder]
和您的自定义完成按钮的textFieldDidEndEditing
中为您的选择器视图实施IBAction
。