【问题标题】:Resign keyboard when viewController is dismissed关闭 viewController 时退出键盘
【发布时间】:2014-09-07 10:25:13
【问题描述】:

我有一个包含文本字段的单元格。当 viewController 打开时,我通过以下代码将其指定为第一响应者:

cell.namTextField.becomeFirstResponder()

当我关闭 viewController 时,键盘会延迟隐藏,这看起来不太好。 viewController 时如何辞职?当 textField 在单元格中并且我无法在函数中访问它时?

【问题讨论】:

    标签: ios iphone uiviewcontroller swift


    【解决方案1】:

    您可以使用self.view.endEditing(true),它将遍历视图(这里是控制器的主视图)中的所有子视图并强制(这是true 部分)当前是第一个响应者的任何视图辞职。

    我想在viewWillDisappear: 中使用它是有意义的,以便在控制器被解除(或另一个控制器被按下等)之前隐藏键盘

    【讨论】:

      【解决方案2】:

      试试这个方法隐藏键盘:-

      - (void) hideKeyboard:(BOOL)hidden
      {
          NSArray *arrWindows = [[UIApplication sharedApplication] windows];
          if ([arrWindows count] > 1)
          {
              UIWindow *keyboardWindow = [arrWindows objectAtIndex:1];
              [keyboardWindow setHidden:hidden];
          }
      }
      

      【讨论】:

        【解决方案3】:

        您可以使用以下代码行来关闭键盘。

        [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
        

        此方法将关闭任何应用程序视图中存在的任何键盘

        【讨论】:

          猜你喜欢
          • 2018-05-17
          • 2018-11-09
          • 2015-11-12
          • 2011-11-20
          • 1970-01-01
          • 2020-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多