gpt4 book ai didi

ios - UIKeyboardWillShowNotification 为快速键盘返回不正确的框架

转载 作者:技术小花猫 更新时间:2023-10-29 10:18:03 26 4
gpt4 key购买 nike

我正在使用 UIKeyboardWillShowNotificationUIKeyboardWillHideNotification 来处理键盘。
这是显示键盘时调用的函数:

-(void) keyboardWillShow:(NSNotification *)note
{
CGRect keyboardBounds;
//[[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
NSValue* keyboardFrameBegin = [note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey];
keyboardBounds = [keyboardFrameBegin CGRectValue];
}

我得到 keyboardBounds = (0, 524, 320, 44) 并且我使用的是 5s。不知道为什么 origin.y 会变成 524(应该接近 300)而高度会变成 44!我也尝试过注释行。键盘绑定(bind)的两种方式都是 44。此问题仅适用于快捷键盘
this issue 相同

最佳答案

问题出在快速键盘上,-(void) keyboardWillShow:(NSNotification *)note 方法被调用了三次,每次它首先返回三个不同的 origin.y 值和高度一次它给出 keyboardBounds = (0, 524, 320, 44),第二次它给出 keyboardBounds = (0, 308, 320, 260) 最后第三次当它被调用时它返回 keyboardBounds = (0, 271, 320 , 297).

由于第三方键盘大小不固定.. 它们的大小根据 View 的布局方式固定,因此类似于自动布局情况(viewDidLoad、viewWillAppear viewWillLayout、viewDidLayout 然后是 viewDidAppear,因此您可以了解确切的框架viewDidAppear 或 viewDidLayout,其中 View 已经布局。),当它的 View 完全布局时,它会在此处获得精确的框架。

关于ios - UIKeyboardWillShowNotification 为快速键盘返回不正确的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34196856/

26 4 0
文章推荐: ios - 随机和偶然的网络错误(NSURLErrorDomain 代码=-1001 和 NSURLErrorDomain 代码=-1005)
文章推荐: iOS模拟器无法连接到本地网络IP地址
文章推荐: ios - 多点连接框架 : Stability and Recommendations
文章推荐: css - 为什么 内容在某些分辨率下超出包含 BootStrap "span"并重叠?