-1

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

4

1 回答 1

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
}

解决此崩溃的非常简单易行的方法。

于 2013-09-06T13:07:33.403 回答