美文网首页
iOS 横竖屏切换及某个界面横屏

iOS 横竖屏切换及某个界面横屏

作者: hallfrita | 来源:发表于2017-02-05 15:56 被阅读0次

    进入正文前先认识几个概念

    portrait  竖屏(Home键在下边)

    upside down  竖屏(Home键在上边)

    landscape  横屏   |landscape left  横屏Home键在左边

    |landscape right 横屏Home键在右边

    1、先让窗口支持横竖屏

    两种方法可以修改窗口对横竖屏的支持

    一种,代码控制

    在appDelegate中重写方法,比如

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

    if(self.isShouAutoRotate) {

    returnUIInterfaceOrientationMaskAll;

    }

    returnUIInterfaceOrientationMaskPortrait;

    }

    另一种就是,在【General】-->【Device Orientation】中设置好支持的方向

    如图

    两种方法的利弊,读者自己推敲。

    2、下面认识三个方法

    //是否自动旋转

    - (BOOL)shouldAutorotate {

    returnYES;

    }

    //返回支持的方向

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    returnUIInterfaceOrientationMaskLandscapeRight;

    }

    //切换横竖屏时,可以重写这个方法,来重新布局界面

    - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {}

    3、个别界面横屏

    第一种处理方式:   1中对应的设置支持横屏完成后,在相应的控制器直接实现2中的方法二

    第二种处理方式:   1中对应的设置支持横屏完成后,在相应控制器的viewDidLoad方法中强制设置设备朝向,代码如下:

    NSNumber*value = [NSNumbernumberWithInt:4];

    [[UIDevicecurrentDevice]setValue:valueforKey:@"orientation"];

    相关文章

      网友评论

          本文标题:iOS 横竖屏切换及某个界面横屏

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