Если вы хотите, чтобы ваше приложение вращалось, вам нужно установить вращения во всех контроллерах представления вашего приложения.
Это может быть необходимо создать пользовательский класс для вашего UINavigationController
или UITabBarController
, чтобы сделать все, что вращается, как вы могли бы подумать с таким кодом:
@implementation CustomTabBarController
-(BOOL)shouldAutorotate
{
if(self.viewControllers && self.selectedIndex<self.viewControllers.count)
return ((UIViewController*)self.viewControllers[self.selectedIndex]).shouldAutorotate;
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
if(self.viewControllers && self.selectedIndex<self.viewControllers.count)
return ((UIViewController*)self.viewControllers[self.selectedIndex]).supportedInterfaceOrientations;
return UIInterfaceOrientationMaskPortrait;
}
@end
и
@implementation CustomNavigationController
- (BOOL)shouldAutorotate
{
return self.topViewController.shouldAutorotate;
}
- (NSUInteger)supportedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}
@end
С помощью этих двух пользовательские классы, вы можете справиться с тем, должно ли ваше приложение вращаться или не напрямую непосредственно с самого ViewController
, так что это удобно.
Я dpnt хочу повернуть. Я хочу установить разрешенные орты. Можно ли сказать в делегате приложения. Я поддерживаю iOS8 и для более старых версий для всего приложения? –
Вам нужно установить разрешенные ориентации для всех контроллеров представления вашего приложения (или использовать наследование, чтобы определить это только один раз), но чтобы заставить его работать, вы должны определить его в TabBar и navigationBar, если есть. – cdescours