私は多くのテキストフィールドのサブビューを持つカスタムビューのxibファイルを持っています。テキストフィールドのそれぞれに代理人をファイル所有者に設定し、texfield代理メソッドを正常に実行できるようにしました。しかし残念なことにキーボード通知メソッドkeyboardWillShow:とkeyboardWillHide:はまったく呼び出されません。NSNotification keyBoardWillShowとkeyboardWillHideは呼び出されません
私はtextfieldShouldBeginEditingでオブザーバーを追加し、オブザーバーをtextFieldDidEndEditingで削除しました。ここで
は、私のコードの抜粋です:
はオブザーバーに
通知- (void)keyboardWillShow:(NSNotification *)notification
{
NSLog(@"Here");
}
- (void)keyboardWillHide:(NSNotification *)notification
{
NSLog(@"There");
}
//のいずれかのオブザーバー
-(void) textFieldDidEndEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//メソッドを削除
-(void) textFieldShouldBeginEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}
を追加しますそれらのキーボーヤrdwillShowとkeyboardWillHideは呼び出されません。
誰かが私のコードや欠落している可能性のある下位問題の問題を理解するのに役立ちます。
'keyboardFieldDidBeginEditing:'が呼び出される前にキーボードが表示され、 'keyboardWillShow'は決して呼び出されない可能性があります。先に観測を開始し、何かが変化するかどうかを確認してください。 – TheAmateurProgrammer