gpt4 book ai didi

ios - keyboardWillShow 事件进行其他更改

转载 作者:行者123 更新时间:2023-11-29 00:50:31 25 4
gpt4 key购买 nike

我有一个聊天 View ,我通过更改 View 的高度来使用键盘将 textView 向上移动。但是,当我将键盘类型更改为表情符号,并返回到常规键盘时,UIKeyboardWillShowNotification 再次触发并将 View 向上移动一个额外的台阶(即键盘的额外高度)。我如何跟踪这一点并确保我只减去键盘的高度(如果尚未减去),或者只减去表情符号键盘的额外高度?

func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.size.height = self.view.frame.size.height - keyboardSize.height
self.view.layoutIfNeeded()
}
}

enter image description here

I change keyboard to emoji

enter image description here

I change keyboard from emoji and back to normal

enter image description here

最佳答案

不使用 self.view.frame.height,而是使用屏幕高度。

func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.size.height = UIScreen.mainScreen().bounds.size.height - keyboardSize.height
self.view.layoutIfNeeded()
}

一种更简单的方法是在您的代码中导入这个第三方实用程序

https://github.com/hackiftekhar/IQKeyboardManager

它会自动处理您想要的一切。

关于ios - keyboardWillShow 事件进行其他更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38170933/

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