【问题标题】:"UIKeyboardWillShowNotification" cannot be received on iPad miniiPad mini 无法接收“KeyboardWillShowNotification”
【发布时间】:2012-12-25 13:45:59
【问题描述】:

我在主视图控制器中将以下代码添加到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 相同。

谢谢,

【问题讨论】:

  • 是 "viewWillAppeaer:animated" 你在代码中是怎么拼写的?
  • 哦...,这只是一个拼写错误。谢谢。

标签: ios nsnotificationcenter ipad-mini


【解决方案1】:

从 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];

【讨论】:

  • 我尝试使用UIKeyboardDidShowNotification 来代替。不幸的是,更改对 iPad mini 没有影响...谢谢您的回答。
  • 啊啊啊啊啊啊啊啊啊啊啊啊啊啊
猜你喜欢
  • 2014-09-21
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 2013-06-12
相关资源
最近更新 更多