美文网首页
iOS屏幕旋转相关的问题

iOS屏幕旋转相关的问题

作者: 杨桃wd | 来源:发表于2017-03-06 18:26 被阅读0次

最近做项目遇到了屏幕旋转的问题,先说一下我的需求吧:app除了视频播放这一个界面支持横竖屏外,其他界面都只支持竖屏,并且在视屏播放这个界面,不支持手机自动旋转,只能通过点击放大按钮,将播放器变为横屏放大。

一、关于orientation

屏幕旋转有两种:
1.设备的物理方向(device orientation),即app级别的;
2.界面显示的方向(interface orientation),即viewcontroller级别的。

二、如何设置orientation

我们可以在info里面配置我们app支持的方向信息,也就是设备的物理方向,如下图,默认情况下,Upside Down没有勾选,其他的都选了。

图1.png
为什么没有勾选Upside Down呢?因为iphone的电话app是不支持Upside Down 的,如果你的app支持Upside Down,当用户正在使用你的app的时候,突然有电话进来了,就会看到整个来电画面是颠倒的,用户体验不好,所以不建议勾选。

重点来了!!!!因为我们要实现除了视频播放页之外,其他界面都只支持竖屏,所以在Appdelegate.m 里面要写上如下代码:

#pragma mark 禁止横屏显示
#pragma mark 这个代理方法的优先级最高,self.allowRotation = 0,那么UI界面只支持竖屏;self.allowRotation = 1,根据自己需求返回相应的方向
-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    if (self.allowRotation) {
   //根据自己需求,返回相应的方向
        return UIInterfaceOrientationMaskLandscapeRight;
    }
    return UIInterfaceOrientationMaskPortrait;
}

Appdelegate.h里如下:

Appdelegate.h.png

我们在视频播放页面将allowRotation设置为YES即可,代码如下:

 NTESAppDelegate *appdelagate = [UIApplication sharedApplication].delegate;
 appdelagate.allowRotation = YES;

便可以实现,除视频播放页面外,其他都只支持竖屏显示的需求

三、根视图中的设置

这一点很重要,因为经常会被忽略掉,就是:必须在根视图设置相应的代码,否则播放器界面不能实现真正的横屏放大的效果。我的根视图是viewcontroller。(虽然实现效果了,但是不知道为啥,我这里即便设置了shouldAutorotate方法,但是我的播放器界面的shouldAutorotate方法,仍然不走,如果有知道的大神,还请不吝赐教!!)

根视图的.m文件.png

四、播放器视图中的设置

我的需求是:点击按钮,播放器横屏放大

全屏按钮点击事件.png 退出全屏的点击事件.png

相关文章

  • 屏幕旋转

    屏幕旋转 推荐文档 了解UIWindow——UIWindow实践 iOS屏幕旋转问题总结 IOS:屏幕旋转与变换 ...

  • iOS屏幕旋转相关的问题

    最近做项目遇到了屏幕旋转的问题,先说一下我的需求吧:app除了视频播放这一个界面支持横竖屏外,其他界面都只支持竖屏...

  • ios屏幕旋转的相关问题

    1.AppDelegate 中的下面这个代理方法控制:(返回值是允许转屏的类型) 2.General - Depl...

  • 屏幕旋转和弹出框

    iOS中控制屏幕旋转相关方法 shouldAutorotate:是否支持屏幕旋转 alertView:clicke...

  • iOS Rotation

    iOS屏幕旋转学习笔记iOS开发中使用屏幕旋转功能的相关方法 1、基本知识点解读 了解屏幕旋转首先需要区分两种 o...

  • iOS 屏幕旋转相关

    旋转屏幕问题 1、如果是单纯的控制器,没有自定义的NavigationController进行嵌套。 2、如果有自...

  • ios控制屏幕旋转及相关问题

    ios控制屏幕旋转及相关问题 测试开发环境: Xcode 11.3语言环境: Swift 5.0 [TOC] 一、...

  • iOS 屏幕旋转处理

    iOS 屏幕旋转处理 在 iOS 设备上, 屏幕旋转是个挺坑比的问题. 苹果希望 app 对整个 app 做统一的...

  • IOS 屏幕旋转个人总结

    说下IOS屏幕旋转以及相关知识。涉及的知识点有:1、控制控制器方向。2、整套app控制器方向控制。3、屏幕旋转界面...

  • iOS 屏幕旋转问题总结

    1、UIDeviceOrientation 设备的物理方向 简介 UIDeviceOrientation即我们手持...

网友评论

      本文标题:iOS屏幕旋转相关的问题

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