iOS应用自动旋转与自动布局全解析
立即解锁
发布时间: 2025-08-20 01:38:12 阅读量: 1 订阅数: 6 


iOS 7开发入门:探索iOS SDK
# iOS 应用自动旋转与自动布局全解析
## 一、自动旋转机制
自动旋转并非适用于所有应用。部分苹果的 iPhone 应用仅支持单一方向,例如“联系人”应用只能在竖屏模式下编辑。然而,iPad 应用有所不同,苹果建议大多数应用(除了像游戏这类围绕特定布局设计的沉浸式应用)在 iPad 上运行时应支持所有方向。
### 1.1 自动旋转的实现
自动旋转在视图控制器中指定。当用户旋转设备时,活动视图控制器会被询问是否可以旋转到新方向。若视图控制器响应为肯定,应用的窗口和视图将旋转,并调整大小以适应新方向。
### 1.2 不同设备的屏幕尺寸
|设备|竖屏尺寸(无状态栏)|横屏尺寸(无状态栏)|
| ---- | ---- | ---- |
|iPhone 和 iPod touch|320 点宽 × 480 点高(iPhone 5 系列为 568 点高)|480(或 568)点宽 × 320 点高|
|iPad|768 点宽 × 1024 点高|1024 点宽 × 768 点高|
如果应用显示状态栏,屏幕垂直空间将减少 20 点。
## 二、点、像素与视网膜显示屏
过去我们常使用像素来描述屏幕尺寸,但随着苹果引入视网膜显示屏,现在更多使用“点”。视网膜显示屏提高了屏幕分辨率,例如 iPhone 从原始的 320 × 480 像素提升到 640 × 960 像素(iPhone 5 可达 640 × 1136 像素),iPad 从 1024 × 768 像素提升到 2048 × 1536 像素。
### 2.1 点与像素的关系
- 旧款 iPhone、iPad 1、iPad 2 和 iPad Mini 1 上,1 点等于 1 像素。
- 新款 iPhone 和 iPod touch 上,1 点相当于 2 × 2 像素的正方形,屏幕仍显示为 320 点宽。
- 最新款 iPad 屏幕几何尺寸仍为 1024 × 768 点,但实际像素为 2048 × 1536 像素。
iOS 会自动将点映射到屏幕的物理像素,我们在处理屏幕元素时,通常使用点来指定尺寸和距离。
## 三、自动旋转的方法
应用在处理旋转时可采用三种通用方法,具体选择取决于界面的复杂程度。
### 3.1 使用约束
对于较简单的界面,可以为构成界面的所有对象指定正确的约束。约束告诉 iOS 设备当封闭视图调整大小时,控件应如何表现。
#### 3.1.1 在 Interface Builder 中配置约束
这是使用约束最简单的方法。Interface Builder 允许定义约束,描述 GUI 组件在其父视图更改或其他视图移动时如何重新定位和调整大小。
操作步骤如下:
1. 在 Xcode 中创建一个基于“Single View Application”模板的新项目,命名为“Autosize”。
2. 选择“Main.storyboard”在 Interface Builder 中编辑界面文件。
3. 从对象库中拖动四个标签到视图中,使用蓝色虚线指南将它们放置在各自角落附近。
4. 双击每个标签,为其分配标题以便区分。
5. 选择所有四个标签(点击一个标签,按住 键再点击其他三个)。
6. 选择“Editor ➤ Resolve Auto Layout Issues ➤ Add Missing Constraints”菜单选项。
7. 按下运行按钮在模拟器中启动应用,验证其是否正常工作。
### 3.2 重写 UIViewController 方法
对于更复杂的视图,需要在视图的控制器类中重写 UIViewController 的方法,以实现自定义的视图布局。
## 四、选择视图方向
### 4.1 应用级别的支持方向
创建一个新的 Xcode 项目,命名为“Orientations”,选择 iPhone 设备。通过以下步骤指定应用支持的方向:
1. 点击项目导航器中的顶行(项目名称),确保在“General”标签页。
2. 在“Deployment Info”部分的“Device Orientation”中,通过复选框选择支持的方向。
0
0
复制全文
相关推荐










