iOS手动旋转屏幕、自动旋转屏幕
来源:互联网 发布:解不定积分软件 编辑:程序博客网 时间:2024/06/09 14:32
有的时候,在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手动旋转屏幕、自动旋转屏幕
- 手动旋转iOS屏幕
- iOS 屏幕旋转 手动和自动
- iOS手动和自动旋转屏幕
- iOS指定页面屏幕旋转,手动旋转
- ios学习之 IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- IOS屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- iOS 屏幕自动旋转控制
- iOS指定页面屏幕旋转,手动旋转(iOS 屏幕旋转只在当前控制器生效)
- 屏幕旋转自动问题
- iOS 屏幕根据感应自动旋转
- 手动屏幕旋转的方法
- 手动滑动屏幕,旋转模型
- ios屏幕旋转注意事项
- iOS强制旋转屏幕
- ios 锁定 屏幕旋转
- ios旋转屏幕总结
- [IOS] 屏幕旋转控制
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解
- GCC 编译使用动态链接库和静态链接库的方法
- 输入月份号,输出英文月名。
- Halcon导出的cpp, VC++环境配置
- ActiveMQ入门实例
- iOS手动旋转屏幕、自动旋转屏幕
- libNids TCP 分析
- ios修改导航条title的颜色
- iOS的hook方案: Method Swizzling
- VMWare下虚拟机ubuntu与宿主机windows文件共享
- 《互联网+她时代:女性创业者报告》
- iOS解析--自动无限循环UIScrollView原理
- dubbo
- QML和C++混合编程--在C++应用程序中使用QML