ios - 如何在导航 Controller 中推送 UIViewController 之前关闭键盘

标签 ios uitextfield uitableview uialertview

我的 View 包含 UITableViewController,其中有 UITextFields,可以在其中输入一些文本。当键盘出现/消失时,我调整 UITableView 高度。它很好用。

现在我有 UIAlertViewUITextField 。用户在 UIAlertViewUITextField 中输入文本,当按下“Ok”时,我会推送另一个 UIViewController。问题是,当我回过头来看,一切都搞砸了。原因是 KeyboardWillHide 通知永远不会被触发,因此 tableView 的高度是应用程序框架高度 - 键盘高度。

有什么修复建议吗?我在 - (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 中调用了 [resignFirstResponder] 但没有帮助。我什至强行调用 KeyboardWillHide 但这也没有帮助。

有什么建议吗?

最佳答案

我在viewWillDisappear中调用removerObserver。 viewWillDisappear 在 KeyboardWillHide 被调用之前被调用。 解决方案是将removeObserver移至viewDidDisappear。这就成功了。

关于ios - 如何在导航 Controller 中推送 UIViewController 之前关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11260132/

相关文章:

ios - 无法访问 UICollectionViewCell 中的 UITextField

ios - 静态 TableView - UITextField 被键盘隐藏

iphone - 将 UITableView 单元格选择样式更改为红色

ios - 如何将 Swift UIDatePicker 转换为字符串,然后检查另一个日期

ios - Gif用作分页加载器时,有时不显示在 ImageView 中

ios - 如何在 Swift UI 中的 ScrollView 中显示全文

ios - 创建 tableview 所有数据的 pdf

ios - swift 3 facebook sdk 获取好友列表

iphone - UITextField 内阴影

ios - Xcode 6 UITableView 使 View 变黑