Вы можете использовать уведомления, как упомянул Хьюберт, или постоянно проверять, является ли UITextField первым респондентом.Если это первый респондент, это означает, что выделено текстовое поле и поле, на которое будет влиять клавиатура.
-(void)viewDidLoad {
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(checkTextField) userInfo:nil repeats:YES];
}
-(void)checkTextField {
if (textField isFirstResponder) {
//the text field has been tapped and the keyboard will come up, so animate the text field moving up here
} else {
//the text field is not selected, so it should be in its original position
}
}