iOS开发之设备方向简析

作者: df837e5ea60a | 来源:发表于2016-03-22 09:09 被阅读409次

在使用iOS设备时,如果你旋转设备,应用程序就会调整和优化自身从而自动适应屏幕。作为开发者你首先需要知道程序可以运行在哪个方向,并以编程的方式确认
1.竖屏(UIInterfaceOrientationPortrail)
2.横屏-左(UIInterfaceOrientationLandscapeLeft)
3.横屏-右(UIInterfaceOrientationLandscapeRight)
4.竖屏-下(UIInterfaceOrientationUpSideDown)

判断设备的方向

首先通过访问设备本省,UIDevice是iOS中一个特殊的类,允许访问物理设备的硬件属性包括了:设备唯一标示符,软件信息,软件版本、设备类型、电池信息、设备方向。
可以使用下面的方法判断设备的方向
UIDevice *myDevice = [UIDevice currentDevice];
UIInterfaceOrientation orientation = myDevice.orientation;
c此类方法在大多数情况下是可靠的,但是设备在水平方向上启动时会不起作用
另外一种判断设备方向的方法是访问存储在你的视图层级父视图控制器种的方向,方法如下
UIinterfaceOrientatio orientation;
orientation = [myViewController interfaceOrientation];
这是访问视图层级的试图控制器的方向。

处理设备的自动旋转

视图控制器的一任务是决定用户的界面是否支持一个给定的方向,当设备旋转时,iOS会自动的调用视图层次结构父视图控制器的函数shouldAutorotateToInerfaceOrientation

  • (BOOL)shouldAutorotateToInerfaceOrientation:(UIInerfaceOrientation)orientation{
    return YES;
    }
    由于设备的UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight差别不大,为了方便起见,iOS提供了一下的方法
    BOOL isLandscape= UIinerfaceOrentationIsLandscape(orientation)
    BOOL isPortrait= UIinerfaceOrentationIsPortrait(orientation)

相关文章

  • iOS开发之设备方向简析

    在使用iOS设备时,如果你旋转设备,应用程序就会调整和优化自身从而自动适应屏幕。作为开发者你首先需要知道程序可以运...

  • iOS屏幕旋转(横竖屏)

    一、屏幕旋转方向监听 1、UIDeviceOrientation:设备方向 iOS 定义了七种设备方向: 当设备方...

  • iOS开发-设备倾斜方向判断

    - (void)startMotion { self.motionManager = [[CMMotionMan...

  • 2019-02-14

    iOS开发之APP内部切换语言 - 简书

  • iOS开发:获取设备信息

    开发iOS平台的应用的时候,可以获取iOS设备的设备信息,包括设备的名称,设备的机型,设备的iOS版本等等。设备信...

  • iOS蓝牙4.0开发Peripheral(CoreBluetoo

    上篇文章iOS蓝牙4.0开发Central(CoreBluetooth) - 简书已经讲述了作为中央设备的...

  • IOS开发_IM技术简析

    1、基础概念; 2、IM简介; 3、IM通讯原理; 1、基础概念; 1.1 阻塞与非阻塞:阻塞模式下需要等...

  • 视图指定位置圆角

    mark:iOS开发之指定UIView的某几个角为圆角ios中设置view固定方向的圆角 iOS View 指定圆...

  • 关于ipad支持横屏旋转

    加速计是整个IOS屏幕旋转的基础,依赖加速计,设备才可以判断出当前的设备方向,IOS系统共定义了以下七种设备方向:...

  • IOS 网络-AFNetworking

    AFNetworking iOS开发之AFNetworking 3.0.4使用 - 简书 (jianshu.com...

网友评论

    本文标题:iOS开发之设备方向简析

    本文链接:https://www.haomeiwen.com/subject/wftllttx.html