【问题标题】:Textfields escape out of view when keyboard is displayed显示键盘时,文本字段会从视图中消失
【发布时间】:2020-10-27 10:22:52
【问题描述】:

我有一个带有自定义单元格计数文本字段的视图控制器。我正在使用下面的代码进行键盘管理,但视图上半部分的文本字段会向上逃出视图。键盘将视图向上移动,将这些文本字段推到视图的顶部边缘之外。

我正在使用以下代码进行键盘管理:

override func viewDidLoad() {
    super.viewDidLoad()
    NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
}

还有以下功能:

@objc func keyboardWillShow(notification: NSNotification) {
    if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
        if self.view.frame.origin.y == 0 {
            self.view.frame.origin.y -= keyboardSize.height
        }
    }
}

@objc func keyboardWillHide(notification: NSNotification) {
    if self.view.frame.origin.y != 0 {
        self.view.frame.origin.y = 0
    }
}

任何帮助将不胜感激!

【问题讨论】:

    标签: swift xcode keyboard


    【解决方案1】:

    请使用 pod 'IQKeyboardManagerSwift' 并将代码粘贴到 appdelegate 中

    import IQKeyboardManagerSwift
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            
            IQKeyboardManager.shared.enable = true
    return true
    }
    

    【讨论】:

      猜你喜欢
      • 2023-01-14
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多