【问题标题】:How to hide the keyboard using ‘done’ button Swift 4如何使用“完成”按钮 Swift 4 隐藏键盘
【发布时间】:2018-03-27 21:34:31
【问题描述】:

我想知道如何在输入 UITextField 时使用“完成”按钮隐藏键盘。

谢谢,

未知。

【问题讨论】:

    标签: ios iphone swift swift4


    【解决方案1】:

    使用下面的代码

    class ViewController: UIViewController,UITextFieldDelegate
    
      // set delegate in didLoad
         override func viewDidLoad() {
           super.viewDidLoad()
           textField.delegate = self
         }
    
    
       // MARK: - Search Method
        func textFieldShouldReturn(_ textField: UITextField) -> Bool
        {
    
            textField.resignFirstResponder()
            return true
        }
    

    【讨论】:

      【解决方案2】:

      在文本字段上设置委托并实现此方法。应该做的伎俩。

      func textFieldShouldReturn(_ textField: UITextField) -> Bool {
          textField.resignFirstResponder()
          return true
      }
      

      【讨论】:

      • 嘿,谢谢你的回答,但由于我是 Swift 4 的初学者,我该如何«在文本字段上设置委托»?谢谢。
      • 所以我无法确定上下文,但我假设这是在 UIViewController 中并且您使用的是 Swift。您所做的只是声明视图控制器符合 UITextFieldDelegate(例如 MyViewController 类:UIViewController、UITextFieldDelegate)。然后在某个地方(可能是 viewDidLoad),添加一行 - myTextField.delegate = self.或者,您可以直接在 Storyboard 或 XIB 中执行此操作。最后,将该方法添加到视图控制器。如果一切正常,那么只要点击“完成”按钮,键盘就会消失。
      • 如果文本字段设置在情节提要中,您只需从文本字段控制拖动到视图控制器场景顶部的视图控制器图标上(确保视图控制器符合UITextFieldDelegate 协议,正如你所说)并连接视图控制器作为文本字段的委托。
      【解决方案3】:

      如果你想处理应用程序中的所有文本字段,据我说。 您可以简单地使用IQKeyboardManager 来处理所有内容。

      在安装相应的 Pod 后,只需在 appDelegate 的 didFinishLaunching 中插入以下单行代码即可。

      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
          // Override point for customization after application launch.
      
          IQKeyboardManager.sharedManager().enable = true
          return true
      }
      

      并且完成按钮将在应用程序中自动管理。

      【讨论】:

        【解决方案4】:

        在文本字段上设置委托并实现此方法。应该做的伎俩。

         func textFieldShouldReturn(_ textField: UITextField) -> Bool {
            self.resignFirstResponder()
            return true
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-02-03
          • 2019-06-24
          • 1970-01-01
          • 2017-01-31
          • 2014-01-31
          • 2011-07-30
          • 2013-03-21
          相关资源
          最近更新 更多