Я создаю пользовательскую клавиатуру и не хочу поддерживать ландшафтный режим. Таким образом, если пользователь поворачивает устройство в ландшафтный режим, клавиатура должна оставаться в портретном режиме. Я пробовал следующие методы:
-(BOOL)shouldAutorotate {
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
и
-(void)viewDidLoad{
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPotrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
Но ни один из способов не работает. Единственный метод срабатывает при вращении устройства:
-(void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
Здесь я получаю текущий размер представления после поворота. Но как остановить вращение? Любая помощь будет оценена.