iOS 6编程-在iPhone和iPad上运行的通用应用程序

使用Xcode提供的Universal选项,可以创建通用应用程序。通用应用程序有两个storyboard文件,这点在之前的范例App都没有创建过。针对不同的设备,创建的两个storyboard文件分别为:MainStoryboard_iPhone.storyboard和MainStoryboard_iPad.storyboard。

可以使用Xcode中的Single View Application 模板创建一个简单的、通用的App。项目名称为UniversalApp,类前缀为Uni。

生成的Xcode项目文件中,我们发现有2个Storyboard文件。

具体而言,有2种方法来实现通用应用程序。

第一种方法是:2个Storyboard文件,一个视图控制器文件,这个一般适用于iPhone和iPad界面和功能差异不大的情况。

第二种方法是:2个Storyboard文件,二个视图控制器文件,分别对应于不同的Storyboard中的视图。这样,每一个视图和视图控制器将完成不同,可以实现差异化功能,但是仍然可以在Xcode项目中创建一些独立的类或文件,实现共享业务逻辑代码。

先采用第一种方法,分别在2个storyboard中的视图中,添加在一个UILabel标签,并连接到UniViewController.h中输出口deviceType。

#import <UIKit/UIKit.h>
@interface UniViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *deviceType;
@end

两个视图由同一个视图控制器UniViewController进行管理。打开UniViewController.m文件,更新viewDidLoad方法。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.deviceType.text = [UIDevice currentDevice].model;
}

代码中UIDevice类的currentDevice方法获取指向当前设备的对象,访问其属性model,获得一个描述当前设备的NSString字符串对象。

代码很简单,我们现在运行UniversalApp程序,看看输出结果:

在iPhone 模拟器中的输出为:iPhone Simulator

在选择使用iPad Simulator模拟器,我们发现输出结果为:iPad Simulator

第二种方法的演示,包括本教程后续更详细内容及其范例App将收录在《一步一步学习iOS 6 编程》的最新版PDF文件中。

posted @ 2012-10-17 16:02  周文  阅读(561)  评论(0编辑  收藏  举报