gpt4 book ai didi

swift - 键盘文本字段是否取决于文本字段约束?

转载 作者:行者123 更新时间:2023-11-30 11:53:20 26 4
gpt4 key购买 nike

我遇到键盘文本字段问题。我正在 iOS 9.2 中开发 swift 4

我有一个登录屏幕,它确实有很多限制(适用于每个屏幕)。在我的登录屏幕中,我有一个用户名和密码文本字段。

问题是,当我在 iPad 上启动应用程序时,键盘出现在关联文本字段的中心。此外,观察者将无法工作:当我使用调试器时,我永远不会进入观察者内部

但是当我在模拟器上启动时,一切都运行良好。

#My object life cycle 
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(_:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
}

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
}


# My textfield delegates and observers
extension LoginViewController {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}


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

@objc func keyboardWillHide(_ notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y += keyboardSize.height
}
}
}

}

对于我的文本字段 Storyboard配置,这就是

Look textField control textfield constraint

那我有什么不明白的地方吗?

  • 键盘是否也依赖于文本字段约束?
  • 为什么观察者不在 iPad 上工作而是在模拟中工作?
  • 如何以编程方式移动键盘?

最佳答案

确保您的 iPad/iPhone 有键盘底座..

https://discussions.apple.com/thread/5430957

关于swift - 键盘文本字段是否取决于文本字段约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48112590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com