From the very simple piece of code below, I have a strange behavior difference between iOS 7 and 8 when rotating :
- On iOS 7 the keyboardWillShow and keyboardWillHide are called only one time each.
 - On iOS 8 the keyboardWillShow and keyboardWillHide are called two times each.
 
I have created a very simple project to ensure that it was not a side effect of my main project, but it is not.
Is it a documented behavior difference ?
Regards. Sébastien.
@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
				
                        
Sébastien I think you should add keyboard notification in the viewDidLoad() and then try again, hope it will help you.