【发布时间】:2015-11-12 18:24:11
【问题描述】:
当从 UINavigationController 弹出当前 UIViewController 时,我正在试验数字键盘的问题。
在我当前的 UIViewController 中。我在 UINavigationBar 中有几个 UITextField 和一个“保存”按钮。预期的行为如下:
当用户点击“保存”时,键盘必须隐藏并执行网络操作。在其回调中,显示了一个 UIAlertView。当用户关闭此 UIAlertView 时,会发出通知并执行当前 UIViewController
[self.navigationController popViewControllerAnimated:YES];
问题是,如果在键盘仍然显示的情况下按下“保存”,则在执行 popViewControllerAnimated 后,键盘会从左到右短暂出现(就像在之前的 UIViewController 中可见一样)。
我试过了
[myTextField resignFirstResponder]
当用户点击“保存”时,当用户关闭 UIAlertView 时,甚至在
viewWillDisappear
方法。其他一些答案建议使用
[self.view endEditing:YES];
但它也不起作用。
如果我可以使用常规键盘,覆盖将是微不足道的
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
当用户点击“返回”、“完成”等时隐藏它。但是作为数字键盘不允许您显示“完成”按钮。
非常感谢您的帮助,感谢大家的宝贵时间
【问题讨论】:
-
您需要在数字键盘上添加完成/取消按钮。
-
使用 [self.view endEditing:YES]; [self.navigationController popViewControllerAnimated:YES]之前;
-
@T_77 我试过 [myTextField setReturnKeyType:UIReturnKeyDone];它不起作用
-
@Dev 我也试过了,还是不行
-
试试我的答案。我刚发了
标签: ios objective-c uiviewcontroller keyboard