看这个action,假设一个程序员自定义view并添加到他们的应用程序的根视图控制器编程的自定义背景图。以前写了这个代码:
解决这个问题很简单:
UIScreen
框架将返回当前应用程序的窗口的矩形范围,减去的状态栏占用的面积(如果可见)。您也可以得到公正的边界矩形的屏幕
[[UIScreen mainScreen] bounds]
。这两个值都将返回逻辑点,而不是像素。 虽然上面的代码示例是有用的,他们也受到一些限制。在实践中,你可能需要处理更复杂的情况,包括许多子视图动态调整大小根据设备屏幕上的高度。 幸运的是,有至少三种不同的方法,你可以用它来这样做。
View Autoresizing
UIView的属性autoresizingMask的是一个简单而有效的方法,以确保子视图对象动态调整,相对于他们的父视图。在上面的代码片断中,我用这个,以确保适当的宽度和高度的自定义背景的视图对象将扩展方向的变化:
设备检测
另一种方法是试图通过一些检查,如果当前设备是在运行一个iPhone 5。我发现是最高级的版本。以下是修改后的版本中创建的宏: