键盘在iPad中隐藏/显示检查

时间:2013-09-06 13:07:33

标签: ios objective-c ipad uitextfield uikeyboard

我正在研究自定义表格单元格,它有一些文本字段。在一些按钮按下方法我动态添加/删除行。但是当屏幕上显示键盘并按下按钮时,应用程序崩溃。

1 个答案:

答案 0 :(得分:3)

我使用非常简单的两行方法来解决问题

首先写一个Bool isKeyBoardHide。

然后在ViewDidLoad中编写此代码

// Listen for keyboard appearances and disappearances
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(keyboardDidShow:)
                                             name:UIKeyboardDidShowNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(keyboardDidHide:)
                                             name:UIKeyboardDidHideNotification
                                           object:nil];

编写这两种方法来更新bool关于当前状态

- (void)keyboardDidShow: (NSNotification *) notif{
    isKeyBoardHide = NO;
}

- (void)keyboardDidHide: (NSNotification *) notif{
    isKeyBoardHide = YES;
}

如果您想检查只执行该代码

if(!isKeyBoardHide) {
// Dismiss Keyboard
[self.view endEditing:YES] 
} else {

//keyboard is already hidden
}

解决此次崩溃非常简单易行。

相关问题