在显示之前获得键盘的大小

时间:2013-04-24 06:40:37

标签: iphone ios objective-c

我想获得键盘的大小,我按照以下步骤操作:

- (void)viewDidLoad
{
    ....

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)  name:UIKeyboardWillShowNotification object:nil];

    ....
}

//I can get the size here
- (void)keyboardWillShow:(NSNotification *)notification 
{

    NSDictionary *userInfo = [notification userInfo];
    NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardRect = [aValue CGRectValue];
}

但是现在,我希望在键盘显示之前(在调用“keyboardWillShow”方法之前)获得大小。我该怎么办?

2 个答案:

答案 0 :(得分:1)

在键盘显示之前,实际上- (void)keyboardWillShow:(NSNotification *)notification;方法被触发了。

答案 1 :(得分:0)

正如您从其中一个答案here中看到的那样,它实际上取决于键盘的类型以及您所使用的设备。您还应该记住,将来键盘可以更改,因此您应该依赖NSNotification上传递的字典来确定其大小。