ios - 选择表格单元格时删除键盘

标签 ios uiviewcontroller uiscrollview uitextfield resignfirstresponder

我有一个这样的模态设置:

enter image description here

尽管出现,前两个字段是成为第一响应者并显示键盘的 UITextFields。第三个“部门”项目是一个 TableView 并推送另一个 View 。

我实现了一个 ScrollView ,以便在编辑任一字段时,用户可以滚动并到达部门单元格:

enter image description here

当它被选中时,在推送之前,我想隐藏键盘。这是一个小细节,但请尝试在 Apple 的“日历”应用程序中添加一个新事件。它以第一个文本字段作为第一响应者打开(因此存在键盘)。如果您选择开始/结束单元格,则键盘会在按下一个 View 时隐藏。

我如何实现这一点?作为测试,我试过:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"hiding keyboard");
if ([ingredientName isFirstResponder]) {
    NSLog(@"resigning name field");
    [ingredientName resignFirstResponder];
}
else if ([ingredientAmount isFirstResponder]){
    NSLog(@"resigning amount field");
    [ingredientAmount resignFirstResponder];
}

日志记录确认这些正在被调用。但是键盘不会隐藏。当 View 滑出时,它只是停留在原地。返回时,前一个字段仍然具有焦点(并且键盘不可用)。

有什么想法吗?

最佳答案

resignFirstResponder 在您使用模态视图时不会关闭键盘。

另一个开发人员在这里找到了解决此问题的方法:http://viraj-workstuff.blogspot.com/2010/12/resignfirstresponder-does-not-hide.html

关于ios - 选择表格单元格时删除键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866226/

相关文章:

ios - 在 iOS 8 中更改 UISearchBar 取消按钮文本

ios - 在 keyboardWillShow keyboardWillHide 中同步动画——同时使用硬件键盘和虚拟键盘

objective-c - 后退按钮未出现在推送的 UIViewController 上

iphone - 有没有办法取消动画 UITableView/UIScrollView setContentOffset :animated:?

ios - UITableViewCell 中的 UIScrollview 并维护 ScrollView 页面

Objective-C:如何从 UIWindow 中只删除一个 subview ?

ios - 如何处理 UITabBarController 子类中的方向变化

iphone - 具有透明背景的 ViewController 通过推送转换进入当前 ViewController

ios - 使用 setViewControllers 时,viewWillAppear、viewDidAppear 和 viewWillDisappear 不会在 iOS 5 上被调用

objective-c - UIScrollView 没有滚动到屏幕外?