Из очень простого фрагмента кода ниже у меня есть странная разница в поведении между iOS 7 и 8 при вращении:
- В iOS 7 клавиатураWillShow и клавиатураWillHide вызываются только один раз.
- В iOS 8 клавиатураWillShow и клавиатураWillHide вызываются по два раза каждая.
Я создал очень простой проект, чтобы убедиться, что это не побочный эффект моего основного проекта, но это не так.
Это задокументированная разница в поведении?
С уважением. Себастьян.
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:self.view.window];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:self.view.window];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)keyboardWillShow:(NSNotification*)notification
{
NSLog(@"Keyboard will show.");
}
-(void)keyboardWillHide:(NSNotification*)notification
{
NSLog(@"Keyboard will hide.");
}
@end
show
->hide
->show
->hide
, а неhide
->show
->show
-›hide
). Попробуйте проверить стек вызовов, чтобы увидеть логику публикации уведомления Apple. - person Leo Natan   schedule 21.06.2015NSNotificationCenter
вviewDidLoad
и попробуйте. - person VRAwesome   schedule 21.06.2015