2

viewWillAppear:animated我在主视图控制器中添加了以下代码。

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

而且,我在同一个类中实现了这个方法,

- (void)showKeyboard:(NSNotification *)notification
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Keyboard will appear." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
}

主视图控制器有一个 UITextField 对象。

在 iPad2 (iOS 5.0) 中,当它获得焦点时会出现一个警报视图。然而,在 iPad mini (iOS 6.0) 中,除了软键盘外,什么都没有出现。

我想让 iPad mini 的行为与 iPad2 相同。

谢谢,

4

1 回答 1

3

从 iOS 3.2 开始,UIKeyboardWillHideNotificationUIKeyboardWillShowNotification两个文本字段之间切换时不再触发。基本上,只有在实际显示或隐藏键盘时才会触发通知。改为使用UIKeyboardDidShowNotification

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
        [[NSNotificationCenter defaultCenter] addObserver:self 
                                                 selector:@selector(keyboardDidShow:) 
                                                     name:UIKeyboardDidShowNotification 
                                                   object:nil];     
    } else {
        [[NSNotificationCenter defaultCenter] addObserver:self 
                                                 selector:@selector(keyboardWillShow:) 
                                                     name:UIKeyboardWillShowNotification 
                                                   object:nil];
于 2012-12-25T04:49:31.053 回答