1、手动旋转屏幕函数

- (void)setOrientation: (UIInterfaceOrientation)orientation {if([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {SEL selector = NSSelectorFromString(@"setOrientation:");NSInvocation*invocation = [NSInvocationinvocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];[invocation setSelector:selector];[invocation setTarget: [UIDevice currentDevice]];intval = orientation;[invocation setArgument:&val atIndex:2];[invocation invoke];}
}

在AppDelegate.h中定义一个变量:

BOOL allowRotation;

再定义一个宏:

#define ApplicationDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate)

然后在AppDelegate.m文件中 实现允许屏幕的方向函数

-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {if(self.allowRotation) {returnUIInterfaceOrientationMaskAll;}returnUIInterfaceOrientationMaskPortrait;
}

2、自动旋转屏幕

1)在控制器中实现允许屏幕旋转的方法
- (BOOL)shouldAutorotate{
returnApplicationDelegate.allowRotation;
}
2)当想要旋转屏幕的时候,就去修改ApplicationDelegate.allowRotation的值,默认是NO,是不支持旋转的,所以满足我们的需求当我们从首页进入播放界面的时候在页面将要出现的时候 设置为YES在页面将要消失的时候 设置为NO:
- (void)viewDidDisappear:(BOOL)animated{[superviewDidDisappear:animated];ApplicationDelegate.allowRotation==NO;
}- (void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];ApplicationDelegate.allowRotation==YES;
}
3)控制器下添加一个通知,用来监听手机方向是否改变
[[NSNotificationCenterdefaultCenter] addObserver:self  selector:@selector(changeFrames) name:UIDeviceOrientationDidChangeNotification   object:nil];

iOS手动和自动旋转屏幕相关推荐

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

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

  2. 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向

    http://www.xuanyusong.com/archives/2871 如下图所示,在处理屏幕默认旋转方向的时候可以在这里进行选择,上下左右一共是4个方向. 策划的需求是游戏采用横屏,但是要求 ...

  3. android设置自动旋转屏幕,android怎样实现关闭系统自动旋转屏幕时能够自动横竖屏...

    android 系统关闭系统自动旋转屏幕情况下利用设备感应器(方向传感器)实现横竖屏切换 2.SensorManager sm=(SensorManager)getSystemService(SENS ...

  4. linux屏幕旋转后触控不准,手机重力感应失效解决方法 不能自动旋转屏幕怎么设置...

    如今手机已经成为人们生活中必不可少的一个工具了,在使用过程也常常会遇到各种各样的问题,比如当手机重力感应失效的时候应该怎么解决呢,手机不能自动旋转屏幕要怎么设置,针对这个问题下面就为大家带来最新解决方 ...

  5. 重力感应失灵/更新win10后不能自动旋转屏幕

    问题 重力感应失灵了,屏幕不能自动旋转.看设备管理器里,传感器下bosch accelerometer图标上有个黄色叹号,更新驱动软件说已是最新版本,可依然无法解决问题. 解决 删除设备,勾上下面那个 ...

  6. iOS开发:自动旋转与调整大小

    苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和横向. 默认情况下,我们写的程序都是纵向的,就像前边的几个例子中那样.如果运行以前写的程序,当把模拟器旋转, ...

  7. Unity3D自动旋转屏幕

    U3D打包的时候默认为任意方向旋转,但实际开发中,我们只需要左右或者上下旋转. 实际上这些值是可以配置的,配置代码如下: //自动旋转横屏:bool值代表是否开启Screen.orientation ...

  8. 解决ios下拍照自动旋转问题

    <input class="sr-only" id="inputImage" name="file" type="file& ...

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

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

最新文章

  1. 推荐GitHub上几个比较热门的开源项目,记得收藏下!!!
  2. 自学python需要多长时间-自学Python需要多长时间?
  3. 谈谈tcp/ip协议
  4. 那些让你起飞的计算机基础知识
  5. cefsharp重写默认js弹窗(alert/confirm/prompt)
  6. 拾遗----javascript一些实用方法
  7. Linux系统-进程概念
  8. 阿里巴巴矢量图标库的使用步骤
  9. 不用百度网盘客户端下载文件
  10. 你不是痘痘肌,你只是管不住嘴
  11. 梦想经不起等待 -- 美文转载
  12. Wrong JPEG library version :library is 80,caller expects 62
  13. 图片拼图微信小程序源码下载支持多模板制作和流量主
  14. RabbitMQ服务启动成功后就自动停止
  15. Python缓存cacheout的使用
  16. Antlr Tool与antlr runtime的版本一致性问题
  17. 远程访问本地mysql
  18. java实现md5的验证
  19. 风剑分享 | 只有数据最懂公司的痛点,指导企业决策走向
  20. node 使用get和post向后台请求数据的使用方式对比

热门文章

  1. ..\EEP\EEP.c(249): error: #268: declaration may not appear after executable statement in block
  2. 制造可靠性,我关注的点(总论)
  3. Andriod Zxing 二维码扫描 实现连续扫描
  4. vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases(sigmod‘2019)
  5. HttpServletRequest接口:请求域
  6. 数据结构第七章:查找
  7. 大话DFT频谱分析(并不是我的话)
  8. Python五子棋小游戏源代码,支持人机对战和局域网对战两模式
  9. 通过PowerMockito来模拟时钟回拨, 验证改进版雪花算法是否起效
  10. RFID防伪设计(物联网工程课程设计)DAY1---开题报告