iOS 7:如何仅允许VC的纵向方向

时间:2014-05-06 09:57:03

标签: ios objective-c xcode

我的所有项目都允许以横向/纵向模式查看应用程序,但对于一个View Controller,我想禁用此功能并仅以纵向显示它。

我已尝试过shouldAutorotatesupportedInterfaceOrientations,但它不起作用。

3 个答案:

答案 0 :(得分:5)

如果您想要视图控制器的不同方向,请在AppDelegate中添加此方法 -

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;

    if(self.window.rootViewController){
        UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
        orientations = [presentedViewController supportedInterfaceOrientations];
    }

    return orientations;
}

并在您的ViewController中 -

-(BOOL)shouldAutorotate{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
    return (UIInterfaceOrientationMaskAll);//Change this according to your need
}

希望这会有所帮助。

答案 1 :(得分:0)

enter image description here 转到您的项目 - >一般 - >设备方向,只选择常规设置中的纵向。

答案 2 :(得分:0)

你有

UINavigationController  -- UIViewController1
                        -- UIViewController2

您必须继承UINavigationController并实施shouldAutorotatesupportedInterfaceOrientations。在UIViewController1,2允许旋转你想要的任何方向。