いくつかのテキストフィールドを持つカスタムテーブルセルに取り組んでいます。ボタンを押す方法で、行を動的に追加/削除します。しかし、キーボードが画面に表示され、ボタンが押されると、アプリケーションがクラッシュします。
質問する
840 次
1 に答える
3
問題を解決するために、非常に単純な2行の方法を使用します
最初に 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];
これらの 2 つのメソッドを記述して、現在のステータスについて 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 に答える