I am running the same code on an IOS 7 and IOS 8 device with differing results
Given a screen with two text fields
In IOS 7 if I touch the first field keyboa
best is to listen for keyboardWillChangeFrameNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrameNotification:) name:UIKeyboardWillChangeFrameNotification object:nil];
The reason is the difference in the keyboard. If the second field is a password field this means there is another keyboard under the hood. Therefore the notification is sent twice.