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

1、视图方向旋转:通过view.transform实现view的缩放、旋转、平移等操作。在页面旋转时,需要关闭自动旋转:

- (BOOL)shouldAutorotate

{

return NO;

}

这样在屏幕旋转时才不会使画面方向混乱。具体操作根据transform属性实现即可,这种方法无法实现手动旋转与自动旋转的自由切换。

2、设备方向旋转分两种:一种是根据设备重力加速度自动实现旋转,另一种是通过代码调用UIDevice的setOrientation实现旋转。注:这种方式上传App Store有风险。

开启ARC情况下:

if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {

SEL selector = NSSelectorFromString(@"setOrientation:");

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];

[invocation setSelector:selector];

[invocation setTarget:[UIDevice currentDevice]];

int val = UIInterfaceOrientationLandscapeRight;

[invocation setArgument:&val atIndex:2];

[invocation invoke];

}

未开启ARC情况下:

if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {

[[UIDevice currentDevice] performSelector:@selector(setOrientation:) withObject:(id)UIInterfaceOrientationLandscapeRight];

}

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

  1. windows禁用屏幕旋转_如何在Windows 10中禁用屏幕自动旋转

    windows禁用屏幕旋转 Windows 10 can automatically rotate your display if you have a convertible PC or table ...

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

    iOS开发7:自动旋转与调整大小 收藏  分享到 发表于 2012-08-31  •  16285 次查看 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和 ...

  3. 解决ios横屏拍照图片自动旋转90度问题

    解决ios横屏拍照图片自动旋转90度问题 参考文章: (1)解决ios横屏拍照图片自动旋转90度问题 (2)https://www.cnblogs.com/lanshengzhong/p/900856 ...

  4. iOS开发屏幕自动旋转与调整大小

    原文链接地址: http://ytwhw.iteye.com/blog/1767465 在此谢谢原博主的精心整理! 关注小白,共同成长! 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写 ...

  5. android禁止屏幕自动旋转_如何禁止屏幕翻转

    Android 版需要修改 AndroidManifest.xml 文件,在文件中找到 android:screenOrientation 属性,原值应该是 user,修改成 portrait 就是锁 ...

  6. iphone应用程序中禁止屏幕自动旋转 自定义屏幕旋转

    在summary中的 supported devices orientation中设置所支持的屏幕旋转方式在实际RUN时并不会应用所选项目,正确的禁止屏幕旋转方向以及自定义屏幕旋转方式要在viewco ...

  7. IOS应用开发之自动旋转与调整大小

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

  8. iOS屏幕自动旋转 以及横屏模式打开APP出现的问题

    首先  项目配置 设置支持方向 创建 UINavigationController父类. tabbar  父类 . uiviewcontroller 父类 UINavigationController ...

  9. Android 屏幕自动旋转-Sensor属性

    在activity中加入下面加粗部分即可,<activity android:name=".demo"  android:label="@string/app_na ...

  10. uniapp禁止屏幕自动旋转

    1.第一步:在App.vue里添加以下代码: onLaunch: function() {// 禁止横屏// #ifdef APP-PLUSplus.screen.lockOrientation(&q ...

最新文章

  1. RMAN Backups
  2. Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法
  3. Unable to open the physical file XXX.mdf
  4. Python脚本--微信公众号自定义菜单的创建及获取
  5. 浏览器如何渲染页面?
  6. web page web form php,Web Pages Razor
  7. ai文件如何打开及常见文件的打开方式
  8. easyui tree:根据属性格式化树节点名称
  9. wxWidgets:wxComboCtrl 示例
  10. Delphi 与 DirectX 之 DelphiX(39): TDIB.Sharpen();
  11. 使用order by排序判断返回结果的列数,order by排序判断字段数原理详解
  12. 【转载】cocos2d-x类型转换(CCstring int string char UTF-8互转)以及字符串详解
  13. 百度统计挂了,分布式数据库异常引起,数据显示为空!
  14. java根据经纬度计算距离
  15. 阿里巴巴java工程师面试经验详情
  16. 51单片机、STM32中生成QRCode二维码
  17. (1)大数据和应用场景介绍
  18. C#生成含数字字母的随机字符串
  19. android开发查漏补缺图
  20. HTML初步认识和一些简单常用属性

热门文章

  1. Spring+vue国际化实现
  2. 无线键盘无线鼠标上亚马逊FCC认证介绍
  3. 芯片可靠性测试基本知识
  4. sonix uvc驱动的添加 RT5350支持H264
  5. 用powershell实现自动化操作
  6. Vue学习笔记05 组件的自定义事件-组件通信-$nextTick-脚手架解决ajax跨域-插槽-过渡动画
  7. tp5腾讯地图经纬度解析省市区
  8. 烤仔创作者联盟·叫额果汁 | 寻宝、晒狗、典礼和赛马……本周DCL活动一览
  9. wamp打开之后变黄色
  10. 去掉idea中有些代码的黄色背景,去掉标记为过时的方法横线