前言

在开发中有时会碰到旋转屏幕的需求,例如直播时横竖屏推流,这里我使用的一种方法时用纯代码强制翻转,其他晚上方法也都使用过,但是效果并不好,目前这个方法还可以。

步骤

  • 1.AppDelegate中配置
//AppDelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
//允许横屏
@property (nonatomic, assign) BOOL allowLandscapeRight;
@end//AppDelegate.m 增加此方法
//横竖屏切换使用
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{if (self.allowLandscapeRight) {return UIInterfaceOrientationMaskLandscapeRight;}return UIInterfaceOrientationMaskPortrait;
}
  • 2.在要跳转的界面
    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;appDelegate.allowLandscapeRight = YES;//强制旋转成全屏NSNumber *value = [NSNumber numberWithInt:UIDeviceOrientationLandscapeLeft];[[UIDevice currentDevice]setValue:value forKey:@"orientation"];[UIViewController attemptRotationToDeviceOrientation];[self.navigationController pushViewController:[[YouVC alloc] init] animated:YES];
  • 3.在退出的时候
- (void)viewWillDisappear:(BOOL)animated{[super viewWillDisappear:animated];AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;appDelegate.allowLandscapeRight = NO;//强制旋转成竖屏NSNumber *value = [NSNumber numberWithInt:UIDeviceOrientationPortrait];[[UIDevice currentDevice]setValue:value forKey:@"orientation"];[UIViewController attemptRotationToDeviceOrientation];
}

问题

可能会碰到状态栏不显示的问题,详见我的上一篇文章 iOS 状态栏更改颜色、适配等

iOS 强制旋转屏幕相关推荐

  1. iphone强制旋转屏幕_我的iPhone或iPad屏幕无法旋转。 我如何解决它?

    iphone强制旋转屏幕 Khamosh Pathak Khamosh Pathak The iPhone and the iPad screen rotates almost seamlessly ...

  2. iOS手动旋转屏幕、自动旋转屏幕

    有的时候,在iOS下需要实现手动旋转屏幕与自动旋转屏幕的自由切换.比如,在手机竖屏时希望点击按钮使页面横屏,然后当手机屏幕方向发生变化时,页面能正常的契合手机旋转的方向. 1.视图方向旋转:通过vie ...

  3. 通过优雅的方式强制旋转屏幕

    谨慎能捕千秋蝉,小心驶得万年船                         --<庄子语录> 前言 方向旋转在日常App上基本都会用到,用的时候可能会因为赶工期而以实现功能为主,认真思 ...

  4. ios 旋转屏幕试图切换_总结iOS App开发中控制屏幕旋转的几种方式

    在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个viewControlle ...

  5. iOS开发中屏幕旋转(一)

    Morris_ 2018.11.24 前言 最近做一个关于在线视频互动的iPad项目,部分界面只要横屏,部分界面可以横竖屏转换.看了看别家做的项目,有些是只做竖/横屏,有些是支持了横竖屏转换,在iPa ...

  6. iphone横竖屏切换,旋转屏幕

    http://www.cocoachina.com/bbs/simple/?t124992.html 1.用UINavigationController处理2个以上ViewController跳转时, ...

  7. php页面强制横屏,iOS强制横屏总结

    总体方向两点: model下,present方式推出界面. push横屏,带tabbar.navigation,且一个item下所有控制器对应的只有一个根navigation. 接下来说说push方式 ...

  8. iOS开发中屏幕旋转(二)

    Morris_ 2019.04.11 前面有总结过一些在开发中遇到的屏幕旋转的基础知识. 一.设置应用支持的转屏方向 设置方式 00x1 在TARGET->General->Deploym ...

  9. ios 旋转屏幕试图切换_iOS屏幕旋转及其基本适配方法

    屏幕旋转示例.jpeg 前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配.的确,视频播放与游戏类型的App经常会遇到这个的问题.由于至今 ...

  10. ios 旋转屏幕试图切换_TCL·XESS 旋转智屏 A200Pro 评测:方向一换,体验大不相同...

    点击右上角关注我们,每天给您带来最新最潮的科技资讯,让您足不出户也知道科技圈大事! 对于电视,我们大多数人的概念也许是「横在客厅或者卧室的一块屏幕」.它早已经是每个人家庭装修的一部分,但也因为就一直躺 ...

最新文章

  1. nginx 只写了listen80 没有 listen443 用https访问
  2. 触摸屏开发_Microchip推出新型电容触摸式控制器,加速汽车触摸屏EMI认证
  3. 微信的 Bug 差点让我被老板炒鱿鱼!
  4. Android7.1取消wifi图标叉号
  5. Journaling日志功能
  6. JSP字符集编码集合
  7. 一个自动动态播放图片的类(downmoon)新增图片效果
  8. 艺术名家|翰墨异彩“三分书”——访知名书法家蔡爱军
  9. Lottie - 实现 AE 动效(Bodymovin)
  10. SlideShare:大话SSD (淘宝核心系统数据库组 褚霸)
  11. 网页设计配色应用实例剖析——蓝色系
  12. 四、Springboot 整合Shiro---02认证---记住我
  13. 说唱天王 Eminem 自传《The Way I am》2
  14. SSL证书怎么部署,SSL证书需要怎么安装你知道吗?
  15. OpenCV联合Image Watch使用中关于RGB和HSV转换相关知识点
  16. lda主题模型的可视化_Gensim LDA主题模型实验
  17. scanf(“%*[\n]%[^\n]“,s)是什么意思?
  18. 怎么把html换成gif,怎么将mp4转换成gif 把mp4转换成高清gif的方法
  19. Java基础-基础知识汇总
  20. 云栖大会上,马云和王坚都说了啥?

热门文章

  1. 我们在GDC上公布了一些好消息
  2. 阿里巴巴2019实习生招聘正式启动
  3. mysql封机器码,lol机器码解除(同理支持市面上任意一款游戏)解机器码
  4. Java 实现批量静默打印PDF文件
  5. 蔽月山房---作者,王阳明
  6. 计算机是如何工作的?
  7. google账号已停用(已解决)
  8. php中表格的高度怎么改,ppt表格行高调整不了怎么办
  9. python算方差_python计算方差
  10. android 实现发送短信功能