iOS开发之设备方向简析

在使用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开发之设备方向简析)