gpt4 book ai didi

ios - 使用建议栏快速获取键盘尺寸

转载 作者:行者123 更新时间:2023-11-29 05:24:38 25 4
gpt4 key购买 nike

在我的应用程序中,我需要在将其他组件移动到正确位置后获取键盘大小,现在我正在使用该代码来获取高度

let info:NSDictionary = aNotification.userInfo! as NSDictionary
let kbSize:CGSize = (info.object(forKey: UIResponder.keyboardFrameEndUserInfoKey)! as AnyObject).cgRectValue.size
print(kbSize.height)

第一次打开键盘时,结果是260.0,但这个值是默认大小,没有建议/密码栏高度,当我单击并再次单击输入时,结果是304.0,这是我想要的值。 ..第一次点击输入后如何得到 304?

最佳答案

您应该监听键盘大小的变化,并以这种方式调整其余内容,因为正如您所发现的,iOS 键盘可以更改大小。您应该订阅 UIResponder.keyboardWillChangeFrameNotification 和/或 UIResponder.keyboardDidChangeFrameNotification,它们是在键盘框架将要或确实发生更改时触发的通知。下面是它的使用示例:

// Somewhere in set up code
NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidChangeFrame),
name: UIResponder.keyboardDidChangeFrameNotification, object: nil)

// Function elsewhere in your class
@objc func keyboardDidChangeFrame(_ notification: Notification) {
guard let kbSize = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey]
as? CGRect else {
return;
}

// Use kbRect as you initially did
}

请注意,您可以使用 WillDid 通知,具体取决于您希望布局更改的外观。您还可以查询 UIResponder.keyboardFrameBeginUserInfoKey UIResponder.keyboardFrameEndUserInfoKey 以获取大小更改之前和之后的键盘框架,如果您想为布局添加动画效果,这可能很有用键盘。

关于ios - 使用建议栏快速获取键盘尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293384/

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