ios怎么彻底锁定ios 屏幕锁定脚本

iOS不锁屏下部分页面灵活切换横竖屏,其他页面不会切换 - 简书
iOS不锁屏下部分页面灵活切换横竖屏,其他页面不会切换
好久没更新文章了,最近项目做到视频直播这块,做视频的话难免需要最大化的处理,现在好多APP最大化都是切换横屏放大的。具体做项目的时候,我们只需要在观看视频的ViewController上面做切换横竖屏就可以了,其他页面只需要竖屏就好了。好吧,首先我先说说如何在项目上做到横竖屏切换然后再说里面的坑吧。
转屏设置.png
首先需要在xcode的 “General” 设置下的Deployment Info进行如何设置。
- (BOOL)shouldAutorotate
return YES;
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
return UIInterfaceOrientationMaskA
然后在需要切换横竖屏的ViewController下写下以上代码,即可切换横竖屏。
不锁屏的情况下.png
但是问题来了,在测试阶段,有些人在系统不锁屏的情况下,当手机转向打横的时候其他页面也会跟着切换横屏,这不是我们想见到的。
为什么会出现其他页面也会跟着转向会横屏呢?就目前大多数项目都是用UINavigationController或者是UITabBarController作为RootViewController,就算在子视图上面把shouldAutorotate设置为YES,但是也是会调用回UINavigationController或者是UITabBarController上面的shouldAutorotate。
- (BOOL)shouldAutorotate
if ([self.topViewController isKindOfClass:[AddMovieViewController class]]) { // 如果是这个 vc 则支持自动旋转
return YES;
return NO;
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
if ([self.topViewController isKindOfClass:[AddMovieViewController class]]) { // 如果是这个 vc 则支持自动旋转
return UIInterfaceOrientationMaskA
return UIInterfaceOrientationMaskP
那么可以在自定义的UINavigationController上面按照以上代码写的,当所需要的转屏的ViewController到栈顶的时候,转换横竖屏的设置就会改变,那么在不锁屏的情况下其他ViewController也不会手机转向打横的时候其他页面也会跟着切换横屏。
补充一下如何通过按钮控制横竖屏
- (void)changeScreenAction
if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)])
NSNumber *num = [[NSNumber alloc] initWithInt:(_isFullScreen?UIInterfaceOrientationLandscapeRight:UIInterfaceOrientationPortrait)];
[[UIDevice currentDevice] performSelector:@selector(setOrientation:) withObject:(id)num];
[UIViewController attemptRotationToDeviceOrientation];
SEL selector=NSSelectorFromString(@"setOrientation:");
NSInvocation *invocation =[NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
[invocation setSelector:selector];
[invocation setTarget:[UIDevice currentDevice]];
int val = _isFullScreen?UIInterfaceOrientationLandscapeRight:UIInterfaceOrientationP
[invocation setArgument:&val atIndex:2];
[invocation invoke];
以上就是按钮点击的方法,手动触发切换横竖屏
#pragma mark - 转屏处理逻辑
- (void)viewWillLayoutSubviews
//横屏时候的处理
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
CGFloat width = [UIScreen mainScreen].bounds.size.
CGFloat height = [UIScreen mainScreen].bounds.size.
if (width & height)
CGFloat tmp =
_isFullScreen = YES;
//竖屏时候的处理
_isFullScreen = NO;
上面是触发横竖屏时候处理UI界面的方法,可以在上面进行UI的处理。
当时做的时候也在网上看了一些博客,iOS7以下应该也要做一些适配,但是我的项目已经是适配iOS7以上的了所以就没做相关适配。如果有哪些地方说得不对可以留言我~希望可以解决部分人的烦恼。
1.监听屏幕旋转方向 在处理iOS横竖屏时,经常会和UIDeviceOrientation、UIInterfaceOrientation和UIInterfaceOrientationMask这三个每局类型打交道,他们会从不同角度描述屏幕旋转方向。 1-&UIDeviceOr...
iOS 中横竖屏切换的功能,在开发iOS app中总能遇到。以前看过几次,感觉简单,但是没有敲过代码实现,最近又碰到了,demo尝试了几种情况,这里就做下总结。 注意 blob.png 横屏两种情况是反的你知道吗? UIInterfaceOrientationLandsca...
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
很多时候,项目中都有这样的需求:APP中以竖屏为主,个别界面会要求横屏显示,或者要根据用户的手机朝向自动切换横竖屏;下面就来详细讲解,在项目中怎么使用代码来控制APP的界面转换.首先,要想APP支持多个方向,需要在工程进行设置支持的朝向:在General--&Deploym...
作者写了一个给 iPhone X 去掉刘海的 APP,而且其他 iPhone 也可以玩,有兴趣的话去 App Store 看看。点击前往。 大家的项目都是只支持竖屏的吧?大多数朋友(这其中当然也包括博主),都没有做过横屏开发,这次项目刚好有这个需求,因此把横竖屏相关的心得写...
能与你照面 只待我睡沉 在梦里现身 在命里遁形 温柔有时 寂寞永生 愿你有好运气,如果没有,愿你在不幸中学会慈悲;愿你被很多人爱,如果没有,愿你在寂寞中学会宽容。
第五十一回 残院 “什么都没有?”易之听闻田菲所言也感觉伏在门上往里看,发觉田菲的意思大概是“没人”,而院内果然和流程悬空楼一般,雕梁画栋的亭楼,还有假山。“和六层很像。”易之对方南说。 方南示意田卫小心地把门扇开启,田卫便径直走到门口,对众人说了一声:“都小心着点,往后让...
材料: 阿胶250克/黄酒1瓶/核桃250克/去核红枣250克/芝麻200克/冰糖100克 另外视个人喜爱可以适当增加桂圆/枸杞/葡萄干/巴旦木 准备工作: 1/阿胶敲碎浸泡3-4天; 2/核桃/红枣在入锅搅拌之前提前焙香; 3/最后装阿胶糕点容器提前四壁提前刷好植物油,便...
闻中红烛颂 历经数十春 悲女呼忘却
滴滴泪沾襟 洗衣离离数 意欲醒世人 七子盼团聚
凄凄唤母声 悼友声悲切
拍案讨公平 为民热血洒
为国变英灵‘ 红烛破死水
铁骨铸冰魂'
天崩地裂无依靠 康丽施善美人公 初心还算不计益 日久天长袖亮剑 只手遮天白也黑 挂羊卖狗欺良心 金童玉女成猫财ios10屏幕旋转锁定怎么设置_百度知道
ios10屏幕旋转锁定怎么设置
我有更好的答案
双击home键向右滑,看到一个圆圈标志,点击就可以加锁或解锁。第一、快速按下iPhone手机上的 Home 两次,就会弹出任务菜单。随后打开控制中心,在控制中心的右上角就是关闭屏幕旋转的开关。点击它即可关闭屏幕旋转,此时会发现控制旋转的图标在控制中心以高亮显示。在关闭了屏幕旋转功能以后,当打开支持屏幕旋转的应用软件时,就不再会随着手机方向的改变而旋转了。
采纳率:100%
  ios10屏幕旋转锁定设置方法:  1、打开 iPhone 的屏幕,用手指从屏幕底部向上滑动。  2、随后打开控制中心,在控制中心的右上角就是关闭屏幕旋转的开关。  3、点击它即可关闭屏幕旋转,此时会发现控制旋转的图标在控制中心以高亮显示。  4、在关闭了屏幕旋转功能以后,当打开支持屏幕旋转的应用软件时,就不再会随着手机方向的改变而旋转了。
双击home键向右滑,看到一个圆圈标志,点击就可以加锁或解锁。方法:第一、快速按下iPhone手机上的 Home 两次,就会弹出任务菜单,如下图所示。第二、然后用手轻轻向右滑动,出现如下图所示的界面。第三、现在左边的锁定旋转图标是没有锁定的,用手指点击,以激活锁定,如果锁定被激活了,就会如下图所示的状态。
本回答被网友采纳
为您推荐:
其他类似问题
屏幕旋转的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。iOS&锁定当前页面,解锁时屏幕可自动旋转
对于pushViewController:animated:方法进入另一页面,当转动手机时,shouldAutorotate方法不会执行,对于[self.navigationController
presentViewController: animated:YES
completion:nil];方法进入另一页面,当转动手机时,shouldAutorotate方法也不会执行。
当时,我考虑到的是当转动时候手动设置屏幕界面,即使用以下的方法:
[[UIDevice currentDevice]
beginGeneratingDeviceOrientationNotifications];
&[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification object:nil];
但,这样操作起来感觉太繁琐,在摸索过程中,发现以下方法进入另一页面时候,shouldAutorotate会执行。
比如要进入HelloViewController页面:
HelloViewController *helloViewController =
[[HelloViewController alloc] init];
float version = [[[UIDevice currentDevice]
systemVersion] floatValue]; //判断当前iOS系统的版本
if (version & 6.0)
presentModalViewController:&helloViewController&animated:YES];
presentViewController:&helloViewController&animated:YES
completion:^{
这样,进行到HelloViewController页面后,当转动手机时,shouldAutorotate也会执行。
- (BOOL) shouldAutorotate
& if (isLockScreen == false) //点击按钮,屏幕未锁定
& & return YES;
& & return NO; &//
- (NSUInteger)supportedInterfaceOrientations
UIInterfaceOrientationMaskAll;
这就实现了锁定当前页面。解锁后,页面又跟着转动。
不过,这种方法得自己重绘一个navigationBar。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&&&&&&&&&ios7屏幕旋转锁定怎么设置 iOS7锁定屏幕旋转设置教程图
ios7屏幕旋转锁定怎么设置 iOS7锁定屏幕旋转设置教程图
作者:佚名
来源:绿茶软件园
  ios7屏幕旋转锁定怎么设置?对于苹果的新固件ios7中的新功能大家可能有些还不是很了解,下面绿茶小编为大家分享下ios7锁定屏幕旋转的设置方法吧!
  ios7屏幕旋转锁定设置教程:
  方法一:通过控制中心设置
  1、您还可以在控制中心界面打开&锁定屏幕旋转&。在使用之前,您需要将侧边开关的功能设置为&静音&,这样才会在控制中心显示&锁定屏幕旋转&按钮。
  2、打开设备中的&设置&界面,然后定位到&通用&界面,如图所示。在通用界面的&侧边开关用于&下点击选择&静音&即可。
  3、在屏幕底部向上滑动屏幕以打开&控制中心&界面。在此界面中,有一个带有箭头的圆圈,圆圈内是锁状的按钮就是&锁定屏幕旋转&按键。当此按钮高亮显示并且图标中的锁为闭合状态时,就表示&锁定屏幕旋转&生效了。
  方法二:通过侧边开关设置
  1、使用侧边开关可以开启或关闭屏幕旋转。但是要事先设置侧边开关的功能。侧边开关有两种功能:锁定屏幕旋转和静音。
  2、首先,我们要设置侧边开关的功能为&锁定屏幕旋转&。打开设备中的&设置&界面,然后定位到&通用&界面,如图所示。在通用界面的&侧边开关用于&下点击选择&锁定屏幕旋转&即可。
  3、这样,当您关闭开关时,开关旁边的红色圆圈就会显示,表示您锁定了屏幕旋转。
  调出控制中心后,会发现里面没有快捷设置屏幕旋转的按键,是因为您设置了侧边开关的&锁定屏幕旋转&功能。
  ios7屏幕旋转锁定方法就是这样的了,大家快去试试吧!
绿茶小编猜你还喜欢:
07:27:44绿茶网友[福建省漳州市]
看了这么多解释屏幕锁,就楼主的解释简单易懂,非常感谢
09:24:07绿茶网友[北京市]
此程序有不足之处,如果我想要屏幕翻转的时候也不是静音就不行,只能在翻转和屏幕静音二选一。
本类推荐本类排行
热门软件热门标签IOS12系统隐藏功能!锁屏显示天气
众所周知IOS12系统已经推送了二个测试版本,在测试版系统中,我相信大家已经发现锁屏显示天气的操作,只要锁屏点亮屏幕,即可显示天气,是不是很方便?如下图所示小编就不废话了,直接分享设置锁屏显示天气方法,给予那些不知道怎么设置用户知道,该功能有点隐蔽,需要一步一步操作。该功能只支持IOS12系统,其它系统版本不支持。步骤方法:1.确保自带天气软件没有删除。2.打开设置-隐私-定位-天气-选择始终。3.打开设置-勿扰模式-设定时间(打开),设置一下时间,从几点到几点显示,并且开启就寝模式。4.锁上屏幕,再次点亮,屏幕就不看到就寝勿扰消息,点击然后选择关闭,即可看到天气。视频教程:觉得不错的,记得点赞分享制作手机壁纸设置公众号靠前通知公众号置顶,方便看到
声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页

我要回帖

更多关于 ios11锁定屏幕旋转 的文章

 

随机推荐