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)では、ソフトウェアキーボード以外は何も表示されません。

iPadminiをiPad2と同じ動作にしたい。

ありがとう、

4

1 に答える 1

3

iOS 3.2以降、UIKeyboardWillHideNotification2UIKeyboardWillShowNotificationつのテキストフィールドを切り替えるときに起動されなくなりました。基本的に、通知は、キーボードが実際に表示または非表示になっている場合にのみ発生します。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 に答える