我在我的应用程序的一些看法,我不想询问服务方向。 在didFinishLaunchingWithOptions
我添加导航:
...
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:self.viewController];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
...
在每个ViewController
我有UITabBar
(我不知道这是很重要的)。
在第一视图控制器I添加:
-(BOOL)shouldAutorotate {
return NO;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
supportedInterfaceOrientations
被称为在视图装载但shouldAutorotate
不叫我旋转设备。
我缺少的是在这里吗?
这是因为既不UITabBarcontroller
也不UINavigationController
是通过shouldAutorotate其可见视图控制器。 为了解决这个问题,你可以从那里继承任何的UITabBarController UINavigationController的还是和前shouldAutorotate:
在你的子类的UITabBarController地址:
- (BOOL)shouldAutorotate
{
return [self.selectedViewController shouldAutorotate];
}
在你的子类的UINavigationController地址:
- (BOOL)shouldAutorotate
{
return [self.visibleViewController shouldAutorotate];
}
在AppDelegate
:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window // iOS 6
{
return UIInterfaceOrientationMaskAll;
}
在您的视图控制器:
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}