我有一個自定義視圖的xib文件,我有很多文本框子視圖。我已將每個文本字段上的代表設置爲文件所有者,併成功實現了texfield委託方法。但不幸的是鍵盤通知方法keyboardWillShow:和keyboardWillHide:根本沒有被調用。NS通知密鑰板將顯示和鍵盤將隱藏不叫
我在textfieldShouldBeginEditing處添加了觀察者,並在textFieldDidEndEditing處刪除了觀察者。
這裏是我的代碼片段:
添加觀察
-(void) textFieldShouldBeginEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}
刪除觀察者
-(void) textFieldDidEndEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//通知
方法- (void)keyboardWillShow:(NSNotification *)notification
{
NSLog(@"Here");
}
- (void)keyboardWillHide:(NSNotification *)notification
{
NSLog(@"There");
}
//任何的那些keyboa rdwillShow和keyboardWillHide不會被調用。
如果有人能幫我弄清楚我的代碼或任何可能丟失的底層問題,這將是非常好的。
鍵盤在'textFieldDidBeginEditing:'被調用之前顯示,導致'keyboardWillShow'永遠不會被調用。開始觀察,看看是否改變了什麼 – TheAmateurProgrammer