Попробуйте:
Создайте iVar с именем UIInterfaceOrientation previousOrientation
.
Когда вы говорите [textField becomeFirstResponder];
add:
[viewController shouldAutoRotateToInterfaceOrientation:UIInterfaceOrientationPortrait];
// Set the previousOrientation to whatever it was
previousOrientation = viewController.interfaceOrientation
// This prevents it from leaving portrait orientation
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
Затем в [textField resignFirstResponder]
, когдапользователь закрывает клавиатуру или нажимает ввод;Вы можете вернуться к исходной ориентации.
[ViewController shouldAutoRotateToInterfaceOrientation:previousOrientation];
// Turn the notifications back on so that it will be able to rotate again
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];