【问题标题】:Provide minimum padding between UITextField and software keyboard ios在 UITextField 和软件键盘 ios 之间提供最小填充
【发布时间】:2021-03-12 05:12:46
【问题描述】:

我正在使用 UIScrollView 中托管的 UITextField 并使用键盘通知来调整内容大小,现在当滚动视图滚动到文本字段时,键盘和文本字段之间的填充太小。反正我可以自定义填充吗??

【问题讨论】:

  • 请显示您目前尝试过的代码。
  • 该问题的一些屏幕截图也可能会有所帮助。

标签: ios swift iphone xcode


【解决方案1】:

您可以使用IQKeyboardManager 自动提供填充,而无需使用单行代码进行滚动视图的任何麻烦。您可以通过CocoaPodsManually 安装它。

【讨论】:

    【解决方案2】:

    添加滚动视图的底部约束出口(这必须是底部最后一个文本字段的底部约束)。 并在该视图控制器中添加以下代码行。

        fileprivate func addKeyBoardNotifications() {
            NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
            NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
        }
        
        deinit {
            NotificationCenter.default.removeObserver(self)
        }
        
        @objc func keyboardWillShow(notification: NSNotification) {
            if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
                UIView.animate(withDuration: 0.1, animations: { () -> Void in
    //                self.view.frame.origin.y -= keyboardSize.height
                    self.scrollViewBottomAnchor.constant = -keyboardSize.height
                    self.view.layoutIfNeeded()
                })
            }
        }
    
        @objc func keyboardWillHide(notification: NSNotification) {
            if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
                UIView.animate(withDuration: 0.1, animations: { () -> Void in
                    self.scrollViewBottomAnchor.constant = 0
                    self.view.layoutIfNeeded()
                })
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多