为了账号安全,请及时绑定邮箱和手机立即绑定

在iOS6中,将ViewController推入堆栈时强制将ViewController强制为特定

在iOS6中,将ViewController推入堆栈时强制将ViewController强制为特定

iOS
至尊宝的传说 2019-11-20 10:04:31
我设置了以下视图控制器:viewController1可以自由旋转到除了人像倒置之外的任何方向。viewController2被推到viewController1的顶部,我希望它与viewController1的方向相同,并且我希望它不能旋转。viewController3被推到viewController2的顶部。我希望viewController3处于纵向模式。我在尝试在iOS6中完成此操作时遇到了很多问题(在iOS5中尚未尝试过)。首先,我已经创建了自己的导航控制器,并将以下内容放入其中:- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{    return [self.topViewController preferredInterfaceOrientationForPresentation];}- (NSUInteger)supportedInterfaceOrientations{    return [self.topViewController supportedInterfaceOrientations];}- (BOOL) shouldAutorotate{    return [self.topViewController shouldAutorotate];}我尝试了这些东西的许多不同组合,以了解是否有用。如果vc2是横向的,我主要是在强迫vc3以纵向显示。任何帮助,将不胜感激。
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

{

if ([self.window.rootViewController.presentedViewController isKindOfClass: [SecondViewController class]])

{

    SecondViewController *secondController = (SecondViewController *) self.window.rootViewController.presentedViewController;


    if (secondController.isPresented)

        return UIInterfaceOrientationMaskAll;

    else return UIInterfaceOrientationMaskPortrait;

}

else return UIInterfaceOrientationMaskPortrait;

}

对于斯威夫特


func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow) -> Int {


    if self.window?.rootViewController?.presentedViewController? is SecondViewController {


        let secondController = self.window!.rootViewController.presentedViewController as SecondViewController


        if secondController.isPresented {

            return Int(UIInterfaceOrientationMask.All.toRaw());

        } else {

            return Int(UIInterfaceOrientationMask.Portrait.toRaw());

        }

    } else {

        return Int(UIInterfaceOrientationMask.Portrait.toRaw());

    }


}


查看完整回答
反对 回复 2019-11-20
  • 3 回答
  • 0 关注
  • 598 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信