iOS开发那些事-构建自适应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 设备
}

更多iOS6开放知识请参考《iOS6开放指南》本书其他内容。

时间: 2024-12-30 21:58:50

iOS开发那些事-构建自适应iPhone和iPad工程的相关文章

iOS开发入门:构建自适应iPhone和iPad工程

有的时候应用需要能够在iPhone和iPad上运行,当然我们可以选择做两个完全不同的工程,然后共用一些类,但是我们也可以只创建一个工程,然后编译生成一个产品,这个产品能够自适应iPhone和iPad设备,然后在App Stroe发布的时候,它会有两套不同的截图展示给用户.App Store上的Evernote应用,它有两套截图iPhone和iPad,这说明Evernote就是自适应iPhone和iPad设备的. 开发入门:构建自适应iPhone和iPad工程-"> 我们来做一个名为Univ

iOS开发那些事-移动平台架构设计

低耦合企业级系统架构设计 我们往往称JavaEE或.Net 开发的产品为"系统",而移动平台(主要是:Android.iOS和Window Phone)开发的产品为"应用"."系统"比较复杂,需要架构设计,而"应用"相对比较简单,这是不是意味着我们不需要考虑架构问题呢?   我们首先了解一下企业级系统架构设计.软件设计的原则是提高软件系统的"可复用性"和"可扩展性",系统架构设计采用层次

iOS开发那些事-iOS网络编程同步GET方法请求编程

iOS SDK为HTTP请求提供了同步和异步请求两种不同的API,而且可以使用GET或POST等请求方法.我们先了解其中最为简单的同步GET方法请求. 为了学习这些API的使用MyNotes"备忘录"应用实例,数据来源于服务器端,而不是本地的Notes.xml(或Notes.json)文件. 首先实现查询业务,查询业务请求可以在主视图控制器MasterViewController类中实现,其中MasterViewController.h代码如下: #import <UIKit/U

iOS开发那些事--简单表视图

表视图是iOS开发中使用最频繁的视图,我们一般都会选择以表的形式来展现数据,比如通讯录.频道列表等.表视图分段.分组.索引等功能使我们所展示的数据看起来更规整更有调理,更令人兴奋的是表视图还可以利用细节展示等功能多层次的展示数据,正所谓一表胜千言. 不过,相较于其它控件表视图的使用比较复杂,但是对比于表视图各种灵活多变的功能,我们在使用上花费的努力还是相当值得的. 简单表视图 表视图的形式灵活多变,本着由浅入深的原则,我们先从简单表视图开始学习.本节讲的简单表视图是动态表,(iOS 5之前全部是

iOS开发那些事-如何编译iOS程序

我们从编写到发布应用会经历3个阶段:模拟器上运行调试.设备上运行调试和发布编译,苹果为了防止非法设备和非开发人员调试和发布应用,使用配置概要文件(Provisioning Profiles)控制在设备上运行调试和发布编译阶段,配置概要文件分为两种:开发配置概要文件和发布配置概要文件 1.创建发布配置概要文件 创建过程是先登录iOS开发中心的配置门户网站(iOS Provisioning Portal),通过左边的导航菜单Provisioning进入.选择Distribution标签就是管理发布配

iOS开发那些事-iOS常用设计模式–委托模式

对于iOS开发,举例Cocoa框架下的几个设计模式为大家分析.当然,Cocoa框架下关于设计模式的内容远远不止这些,我们选择了常用的几种:单例模式.委托模式.观察者模式.MVC模式. 委托模式 委托模式从GoF 设计装饰(Decorator).适配器(Adapter)和模板方法(Template Method)等模式演变而来.几乎每一个应用都会或多或少地使用到委托模式.不只是CocoaTouch框架,在Cocoa框架中委托模式也得到了广泛的应用. 问题提出 对于应用生命周期的非运行状态--应用启

iOS开发那些事-平铺导航–基于分屏导航及案例实现

平铺导航模式是非常重要的导航模式.一般用于简单的扁平化信息浏览或任务.扁平化信息是指这些信息之间没有从属的层次关系,如中国的城市中北京.上 海和哈尔滨之间是扁平化信息,而哈尔滨市与黑龙江省之间的关系是从属的层次关系,层次关系信息可以采用标签导航和树形结构导航. 从一个案例开始介绍平铺导航.如果我想为开发一个基于iPhone的"画廊"应用,目前只有3幅名画(左图是达芬奇-蒙娜丽莎.中图是罗丹-思想者.右图是毕加索-哭泣)收录到应用中.由于这3幅名画之间没有层次关系,他们之间是扁平的. 基

iOS开发那些事-Passbook详解与开发案例(附视频)

Passbook是iOS 6的新功能,只能在iPhone和iPod touch设备中使用.它可以帮助我们管理商家发放的电子会员卡.积分卡.优惠券等.这将对未来电子商务产生深远的影响.商家通过发放会员卡.积分卡.优惠券等,提高与消费者的互动,吸引人们更多消费.Passbook的诞生,正是为了将所有这些"卡"和"券"电子化,存放在iPhone或iPod touch里. Passbook与Pass iOS 6中的Passbook能够帮助我们集中管理电子"卡&qu

iOS开发那些事-iOS6苹果地图实用开发

在iOS 6之后,不再使用谷歌地图了,而是使用苹果自己的地图,但是API编程接口没有太大的变化.开发人员不需要再学习很多新东西就能开发地图应用,这是负责任的做法.因此本节介绍的内容也同样适用于iOS5上运行地图应用开发. iOS应用程序中使用Map Kit API开发地图应用程序. 其核心是MKMapView类使用.我们可以设置地图显示方式.控制地图,可以在地图上添加标注. 显示地图 在Map Kit API中显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate.