扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在强制横屏的VC中,实现:
目前创新互联已为上千余家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、织金网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
原理:在tab和navigationVC(可以自定义一个nav,在这个子nav中)设置: - (UIInterfaceOrientationMask)supportedInterfaceOrientations
tab:
navigationControlller:
指定横屏的VC:
1:在程序中需要我们的程序支持全部的方向,在General中设置

2.在APPDelegate.h文件中增加一属性,用于控制方向的切换
3在AppDelegate.m文件中添加方法(如果属性值为YES,仅允许屏幕向左旋转,否则仅允许竖屏)
4.在我们需要强制横屏的控制器中添加实现方法;
控制开关
打开横屏
关闭横屏
调用转屏代码
转屏核心代码
离开这个界面别忘记关闭横屏
在info.plist中
在ViewController类中的viewDidLoad()方法中添加
重载添加这个方法
将返回值设为false。
通过以上步骤就可以了。
更多方法交流可以家魏鑫:lixiaowu1129,一起探讨iOS相关技术!
前段时间我们播放器强制横屏,项目设置允许竖屏,在手机不锁屏状态下,手机横屏会导致播放器强制横屏的时候会导致横屏失败,下面是强制横屏的解决办法以及我的探究.
首先,在【General】--【Device Orientation】设置仅支持竖屏
接下来在AppDelegate中设置
先设置
接下来有两种办法可以在某个界面设置强制横屏
第一种.先把设备状态设置为竖屏,再强制横屏
第二种.设置强制横屏,再调用
这样就解决手机不锁屏状态下的强制横屏导致的问题,但是为什么产生这些问题呢,请看下我接下来的探究.
接下来说下横屏失败的原因:
用户先向左转了设备的方向才点击横屏,在强制页面向右(也就是设备向左)横屏时,虽然项目是只允许竖屏的,屏幕界面方向也一直是竖屏的,但设备本身的方向(也就是[UIDevice currentDevice].orientation)其实已经是向左,此时其实kvc强制设置的值和本来的值是一样的,这就导致了屏幕界面不转动,所以可以先强制转到另一个方向再转回来,或者使用attemptRotationToDeviceOrientation方法使屏幕界面和设备方向同步。其他方向同理,另外,若用户启用了设备方向锁,用户无论如何旋转设备其设备方向都不变,也就不会有此问题。
下面是我的思路:
在屏幕没有锁定的时候,手机为横屏的时候,播放器横屏时候没有横屏
但是播放器界面并没有变为全屏,根据效果我觉得有可能是宽高问题导致的,因此我先获取手机的屏幕方向
在获取手机的设备方向
发现屏幕方向和设备方向不一致
接下来使屏幕方向和设备方向一致,就可以解决问题
参考文章
iOS 获取屏幕方向
1、IOS6系统,解锁手机界面,进入主界面。没有锁定竖屏的iphone手机在最上方的电池旁边不会出现锁定标志。
2、此时我们点击2下home键,按下面的home键或者小白点上面的home键都可以。按2下后下面出现最近使用的应用列表。
3、出现这个界面后用手指把最近使用的应用向右移动,是向右移动,那么会出现音乐播放和锁屏设置按钮。
4、默认状态下左侧的锁定竖屏是关闭的,这也是在主屏幕没有看到锁定竖屏标志的原因。我们只需点击一下该按钮,那么锁定竖屏就完成了。
5、设置完成后,现在在看主屏幕界面,在电池图标旁边出现了锁定竖屏标志。如果你在某些情况下需要横屏,只要解除即可。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流