У меня есть этот код в моем ViewController:
- (void) viewWillAppear :(BOOL)animated {
// register for keyboard notifications
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:self.view.window];
// register for defaults change notification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(defaultsChanged:)
name:NSUserDefaultsDidChangeNotification object:nil];
}
-(void) viewWillDisappear :(BOOL)animated {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Проблема в том, что при появлении клавиатуры также вызывается метод defaultsChanged.
Когда появляется клавиатура, это последовательность звонков (извлечение из журнала):
start defaultsChanged
end defaultsChanged
start textFieldDidBeginEdit
end textFieldDidBeginEdit
start keyboardWasShown
end keyboardWasShown
Я не знаю, что может быть.У кого-нибудь есть идеи?