【问题标题】:Keyboard not hiding in iOS 6键盘没有隐藏在 iOS 6 中
【发布时间】:2014-04-09 10:20:31
【问题描述】:

我将视图控制器推送到导航控制器,在 iOS 7 中,当这种情况发生时,键盘会自动隐藏。

但是,在 iOS 6 中,它没有。我也无法通过[self.view endEditing:YES]; 让它消失。

编辑:在前面的视图控制器中,一旦键盘被调出,它也不会在带有[self.view endEditing:YES] 的视图控制器中消失。

【问题讨论】:

  • 在推送视图控制器之前尝试在负责此问题的UITextField 上调用resignFirstResponder
  • 你用过UITextField 吗?
  • 是的,我正在使用UITextField。在推送我的视图之前,我在视图中的UITextField 中注释掉了唯一的becomeFirstResponder,并且我还为每个UITextField 添加了一个resignFirstResponder,但我仍然无法关闭键盘。

标签: ios iphone objective-c ipad uiviewcontroller


【解决方案1】:

你可以试试这个:

-(void)viewWillDisappear:(BOOL)animated{

    [self performSelector:@selector(resignFirstResponder) onChildrenOfView:self.view];

}

-(void)performSelector:(SEL)selector onChildrenOfView:(UIView*)view{

    for ( UIView * subView in view.subviews ) {

        if ( [subView respondsToSelector:selector] ) {
            [subView performSelector:selector];
        }

        if ( [subView isKindOfClass:[UIView class]] ) {
            [self performSelector:selector onChildrenOfView:subView];
        }

    }

}

对不起,如果有点冗长。

【讨论】:

  • 在前面的视图控制器中,一旦我提起键盘,我也无法隐藏它。
猜你喜欢
  • 1970-01-01
  • 2015-11-21
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
相关资源
最近更新 更多