gpt4 book ai didi

objective-c - 键盘大小返回错误值?

转载 作者:技术小花猫 更新时间:2023-10-29 11:09:41 24 4
gpt4 key购买 nike

在 iPad 上,订阅 UIKeyboardDidShowNotification 之后

NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
NSLog(@"%@", NSStringFromCGSize(kbSize));

打印 {352, 1024}

这不是错了吗?不仅键盘高度这么大,高度怎么可能大于宽度呢?还是我遗漏了什么?

最佳答案

我打赌尺寸是在静态方向上报告的(“窗口”方向实际上从未改变),所以我建议将其转换为您感兴趣的 View 。我通常的技巧是将其转换为窗口的 rootViewController View 的坐标空间:

CGRect rawKeyboardRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect properlyRotatedCoords = [self.view.window convertRect:rawKeyboardRect toView:self.view.window.rootViewController.view];

或者更合适的 View (如果有)。关键是窗口坐标空间中报告的任何坐标都不会旋转,即使窗口的 rootVC View 旋转了也是如此。

关于objective-c - 键盘大小返回错误值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494920/

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