выглядит так, как будто вы хотите включить ориентацию только в ландшафтный режим.
Вот мое решение в MyViewController.h
добавьте этот код поверх @ interface MyViewController
//force orientation on device
@interface UIDevice (PrivateOrientation)
- (void) setOrientation:(UIInterfaceOrientation)orientation;
@end
затем в файле реализации (MyViewController.m)
добавить этот код в viewWillAppear:
//change orientation of device
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];
это приведет к ориентации устройства в альбомный режим влево (или вправо в зависимости от того, что вы хотите)
, если вы хотите вернуться в портретный режим после выхода из контроллера просмотра, добавьте этот код в viewWillDisappear:
//change orientation of device
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
наконец-то реализуем shouldAutorotateToInterfaceOrientation: заставить вид в горизонтальный режим влево или вправо (или в оба)
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
надеюсь, это поможет: 3