美文网首页@IT·互联网程序员
iOS指定页面默认横屏,自由切换

iOS指定页面默认横屏,自由切换

作者: shyizne | 来源:发表于2017-04-01 11:28 被阅读0次

    闲话不多说先上效果图

    这里面用的present�页面切换

    1.先在AppDelegate中重写-(UIInterfaceOrientationMask)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window方法,交代进入的BaseNavi,以及RootView。代码如下

    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

    // Override point for customization after application launch.

    self.window= [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];

    [self.windowsetBackgroundColor:[UIColorwhiteColor]];

    UIStoryboard*storyBoard = [UIStoryboardstoryboardWithName:@"Main"bundle:[NSBundlemainBundle]];

    ViewController*vc = [storyBoardinstantiateViewControllerWithIdentifier:@"ViewController"];

    BaseViewController* nav = [[BaseViewControlleralloc]initWithRootViewController:vc];

    [self.windowsetRootViewController:nav];

    [self.windowmakeKeyAndVisible];

    returnYES;

    }

    -(UIInterfaceOrientationMask)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window{

    returnUIInterfaceOrientationMaskAll;

    }

    2.创建一个BaseNavi,就是上一步用到的。方法写上

    - (BOOL)shouldAutorotate

    {

    return[self.topViewControllershouldAutorotate];

    }

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations

    {

    return[self.topViewControllersupportedInterfaceOrientations];

    }

    3.在第一个页面写上,支持旋转 但是这个页面只支持竖屏,代码:

    //支持旋转

    -(BOOL)shouldAutorotate{

    returnYES;

    }

    //支持的方向因为界面A我们只需要支持竖屏

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    returnUIInterfaceOrientationMaskPortrait;

    }

    4.第二个页面我们写上,我们所需要的横屏效果,代码:

    //支持旋转

    -(BOOL)shouldAutorotate{

    returnYES;

    }

    //

    //支持的方向

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    returnUIInterfaceOrientationMaskLandscapeLeft;

    }

    //一开始的方向很重要

    -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{

    returnUIInterfaceOrientationLandscapeLeft;

    }

    以上就是横屏设置了,代码不到位的,请多包涵。

    相关文章

      网友评论

        本文标题:iOS指定页面默认横屏,自由切换

        本文链接:https://www.haomeiwen.com/subject/nokiottx.html