构建自适应
iPhone 和 iPad 工程
有的时候应用需要能够在 iPhone 和 iPad 上运行,当然我们可以选择做两个完全不同的工
程,然后共用一些类,但是我们也可以只创建一个工程,然后编译生成一个产品,这个产
品能够自适应
iPhone 和 iPad 设备,然后在 App Stroe 发布的时候,它会有两套不同的截图
展示给用户。
App Store 上的 Evernote 应用,它有两套截图 iPhone 和 iPad,这说明 Evernote
就是自适应
iPhone 和 iPad 设备的。
我们来做一个名为 UniversalSample 的自适应 iPhone 和 iPad 设备的工程。
首先,在创建时候选择 Devices 为“Universal”,我们以前一直选择的是 iPhone,如果开发
iPad 专用的应用需要勾选 iPad。
创建好之后生成有两套故事板,如果用 nib 实现也会有两套文件。
选 择 TARGETS , iPhone 的 “ Main Storyboard” ( 主 故 事 板 ) 设 置 的 是
MainStoryboard_iPhone,主故事板在应用启动时候被首先加载,它设定应用的根视图和启
动的第一个画面。
iPad 的(主故事板),设置的是 MainStoryboard_iPad。
运行时需要选择运行设备,有 iPad 6.0 Simulator、iPhone 6.0 Simulator 和 iOS Device(真
机运行)几个选项,选择
iPhone 6.0 Simulator,这说明应用要在 iPhone 6.0 模拟器上运行。
在编程时可以通过下面语句判断设备,常量 UIUserInterfaceIdiomPhone 用于判断是否为
iPhone 设备,UIUserInterfaceIdiomPad 用于判断是否为 iPad 设备。
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// iPhone 设备
} else {
// iPad 设备
}