gpt4 book ai didi

ios - Swift:出现键盘时向上移动 UILabel

转载 作者:可可西里 更新时间:2023-11-01 02:04:03 26 4
gpt4 key购买 nike

我无法找到如何在键盘出现时向上移动 UILabel。

目前,当我使用 iPhone 7 进行模拟时,标签位于距顶部约 140 像素的位置,并且在键盘出现时完美居中。

但是,在使用较小的 iPhone 5 时,我遇到了这个问题。

enter image description here

键盘与 UILabel 重叠的位置。

我要做的是在键盘出现时将 UILabel 居中。

大多数教程都在展示如何向上移动 UITextField,但我尝试对 UILabel 应用相同的方面但失败了。

最佳答案

当键盘出现时将控件向上移动的一种可能解决方案是向控件添加底部约束并为这些约束定义导出。

 @IBOutlet weak var controlBottomConstraint: NSLayoutConstraint!

viewDidLoad 中注册一个 keyboardWillShow 方法来接收键盘出现时的通知,如下所示:

NotificationCenter.default.addObserver(self, selector: #selector(MyViewController.keyboardWillShow(_:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

然后在 keyboardWillShow 方法中更新约束 (controlBottomConstraint),如下所示:

func keyboardWillShow(_ notification:Notification) {
...
let userInfo:NSDictionary = (notification as NSNotification).userInfo! as NSDictionary
let keyboardFrame:NSValue = userInfo.value(forKey: UIKeyboardFrameEndUserInfoKey) as! NSValue
let keyboardRectangle = keyboardFrame.cgRectValue
let keyboardHeight = keyboardRectangle.height
// controlBottomConstraint outlet to the control you want to move up
controlBottomConstraint.constant = keyboardHeight + 8
}

它在旋转设备时也有效。

关于ios - Swift:出现键盘时向上移动 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44575150/

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