UIDeviceOrientation
来源:互联网 发布:怎么做钓鱼软件 编辑:程序博客网 时间:2024/04/30 08:36
UIDeviceOrientation 是机器硬件的当前旋转方向 这个你只能取值 不能设置
UIInterfaceOrientation 是你程序界面的当前旋转方向 这个可以设置
判断设备现在的方向:
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- //宣告一個UIDevice指標,並取得目前Device的狀況
- UIDevice *device = [UIDevice currentDevice] ;
- //取得當前Device的方向,來當作判斷敘述。(Device的方向型態為Integer)
- switch (device.orientation) {
- case UIDeviceOrientationFaceUp:
- NSLog(@"螢幕朝上平躺");
- break;
- case UIDeviceOrientationFaceDown:
- NSLog(@"螢幕朝下平躺");
- break;
- //系統無法判斷目前Device的方向,有可能是斜置
- case UIDeviceOrientationUnknown:
- NSLog(@"未知方向");
- break;
- case UIDeviceOrientationLandscapeLeft:
- NSLog(@"螢幕向左橫置");
- break;
- case UIDeviceOrientationLandscapeRight:
- NSLog(@"螢幕向右橫置");
- break;
- case UIDeviceOrientationPortrait:
- NSLog(@"螢幕直立");
- break;
- case UIDeviceOrientationPortraitUpsideDown:
- NSLog(@"螢幕直立,上下顛倒");
- break;
- default:
- NSLog(@"無法辨識");
- break;
- }
- // Return YES for supported orientations
- return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向
- }
或者
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
- if (UIDeviceOrientationIsLandscape(deviceOrientation)) NSLog(@"横向");
- else if(UIDeviceOrientationIsPortrait(deviceOrientation)) NSLog(@"纵向");
- // // Return YES for supported orientations
- return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向
- }
Portrait 表示 纵向,Landscape 表示 横向。
- typedef enum {
- UIDeviceOrientationUnknown,
- UIDeviceOrientationPortrait, // Device oriented vertically, home button on the bottom
- UIDeviceOrientationPortraitUpsideDown, // Device oriented vertically, home button on the top
- UIDeviceOrientationLandscapeLeft, // Device oriented horizontally, home button on the right
- UIDeviceOrientationLandscapeRight, // Device oriented horizontally, home button on the left
- UIDeviceOrientationFaceUp, // Device oriented flat, face up
- UIDeviceOrientationFaceDown // Device oriented flat, face down
- } UIDeviceOrientation;
- typedef enum {
- UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
- UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
- UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
- UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
- } UIInterfaceOrientation;
- #define UIDeviceOrientationIsPortrait(orientation) ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown)
- #define UIDeviceOrientationIsLandscape(orientation) ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight)
上面是重要的源代码,已经解释的非常清楚。UIDeviceOrientationIsPortrait(orientation) 跟 ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown) 完全是一个意思。
0 0
- UIDeviceOrientation
- UIDeviceOrientation vs. UIInterfaceOrientation
- UIDeviceOrientation的理解
- UIInterfaceOrientation和UIDeviceOrientation的区别
- UIInterfaceOrientation和UIDeviceOrientation的区别
- 设备旋转UIDeviceOrientation 和 UIInterfaceOrientation
- UIDeviceOrientation和UIInterfaceOrientation屏幕旋转的用法
- iOS UIDeviceOrientation&nbs…
- ios开发---UIDeviceOrientation和UIInterfaceOrientation的区别
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法
- UIDeviceOrientation 和&nbsp…
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的方向
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
- 【Unix/Linux编程实践】 动手实现简单的more
- 使用yum源安装CDH Hadoop集群
- poj 2516 Minimum Cost KM算法
- 跨域问题:Access-Control-Allow-Origin
- 数据结构-多项式
- UIDeviceOrientation
- G - sorry 没有北门
- 使用Git+msysGit上传项目
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- Java基础类库简介及lang包介绍
- 前后台切换会调用哪些方法
- HDOJ 1003 Max Sum参考程序
- Eclipse DDMS检测不到设备问题及解决方法
- 九度OJ 1357:疯狂地Jobdu序列 (数字特性)