iOS手动旋转屏幕、自动旋转屏幕
有的时候,在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手动旋转屏幕、自动旋转屏幕相关推荐
- windows禁用屏幕旋转_如何在Windows 10中禁用屏幕自动旋转
windows禁用屏幕旋转 Windows 10 can automatically rotate your display if you have a convertible PC or table ...
- iOS开发7:自动旋转与调整大小
iOS开发7:自动旋转与调整大小 收藏 分享到 发表于 2012-08-31 • 16285 次查看 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和 ...
- 解决ios横屏拍照图片自动旋转90度问题
解决ios横屏拍照图片自动旋转90度问题 参考文章: (1)解决ios横屏拍照图片自动旋转90度问题 (2)https://www.cnblogs.com/lanshengzhong/p/900856 ...
- iOS开发屏幕自动旋转与调整大小
原文链接地址: http://ytwhw.iteye.com/blog/1767465 在此谢谢原博主的精心整理! 关注小白,共同成长! 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写 ...
- android禁止屏幕自动旋转_如何禁止屏幕翻转
Android 版需要修改 AndroidManifest.xml 文件,在文件中找到 android:screenOrientation 属性,原值应该是 user,修改成 portrait 就是锁 ...
- iphone应用程序中禁止屏幕自动旋转 自定义屏幕旋转
在summary中的 supported devices orientation中设置所支持的屏幕旋转方式在实际RUN时并不会应用所选项目,正确的禁止屏幕旋转方向以及自定义屏幕旋转方式要在viewco ...
- IOS应用开发之自动旋转与调整大小
苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和横向. 默认情况下,我们写的程序都是纵向的,就像前边的几个例子中那样.如果运行以前写的程序,当把模拟器旋转, ...
- iOS屏幕自动旋转 以及横屏模式打开APP出现的问题
首先 项目配置 设置支持方向 创建 UINavigationController父类. tabbar 父类 . uiviewcontroller 父类 UINavigationController ...
- Android 屏幕自动旋转-Sensor属性
在activity中加入下面加粗部分即可,<activity android:name=".demo" android:label="@string/app_na ...
- uniapp禁止屏幕自动旋转
1.第一步:在App.vue里添加以下代码: onLaunch: function() {// 禁止横屏// #ifdef APP-PLUSplus.screen.lockOrientation(&q ...
最新文章
- RMAN Backups
- Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法
- Unable to open the physical file XXX.mdf
- Python脚本--微信公众号自定义菜单的创建及获取
- 浏览器如何渲染页面?
- web page web form php,Web Pages Razor
- ai文件如何打开及常见文件的打开方式
- easyui tree:根据属性格式化树节点名称
- wxWidgets:wxComboCtrl 示例
- Delphi 与 DirectX 之 DelphiX(39): TDIB.Sharpen();
- 使用order by排序判断返回结果的列数,order by排序判断字段数原理详解
- 【转载】cocos2d-x类型转换(CCstring int string char UTF-8互转)以及字符串详解
- 百度统计挂了,分布式数据库异常引起,数据显示为空!
- java根据经纬度计算距离
- 阿里巴巴java工程师面试经验详情
- 51单片机、STM32中生成QRCode二维码
- (1)大数据和应用场景介绍
- C#生成含数字字母的随机字符串
- android开发查漏补缺图
- HTML初步认识和一些简单常用属性