gpt4 book ai didi

ios - 如何使用 iOS 获取 UIKeyboard 大小

转载 作者:IT老高 更新时间:2023-10-28 11:26:52 24 4
gpt4 key购买 nike

有没有办法以编程方式获取 UIKeyboard 大小。横向 216.0f 高度和 162.0f 高度。

以下似乎已被弃用。在 3.0 iPhone OS SDK 和 4.0 iPhone OS SDK 中是否有某种方法可以在没有任何警告的情况下执行此操作..

CGSize keyBoardSize = [[[note userInfo]
objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue].size;

最佳答案

您可以使用 UIKeyboardFrameBeginUserInfoKeyUIKeyboardFrameEndUserInfoKeyuserInfo 字典中获取键盘大小。

这两个键返回一个 NSValue 实例,其中包含一个 CGRect,该实例在键盘的显示/隐藏动画的开始点和结束点保存键盘的位置和大小.

编辑:

为了澄清,userInfo 字典来自 NSNotification 实例。它被传递给您向观察者注册的方法。例如,

- (void)someMethodWhereYouSetUpYourObserver
{
// This could be in an init method.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myNotificationMethod:)
name:UIKeyboardDidShowNotification
object:nil];
}

- (void)myNotificationMethod:(NSNotification*)notification
{
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
}

编辑 2:

另外,请不要忘记在您的 dealloc 方法中将自己移除为观察者!这是为了避免通知中心在释放对象后尝试通知您的对象时发生崩溃。

关于ios - 如何使用 iOS 获取 UIKeyboard 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3546571/

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