当前位置: 首页 > news >正文

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文件中。

转载于:https://www.cnblogs.com/tuncaysanli/archive/2012/10/17/2727854.html

相关文章:

  • UVA 993 Product of digits
  • 黑马程序员-6 泛型
  • Pair Project 总结 Part1
  • poj 1149(最大流,构图)
  • Guava 6-字符串处理:分割,连接,填充
  • C指针与二维数组等等。。
  • EDM邮件内容设计的三点注意之处
  • bashrc中修改PATH要注意的一个问题
  • profile bashrc bash_profile 之间的区别和联系
  • Repeater排序2
  • gtos move / operation
  • 软件工程阅读作业二——团队项目理解与心得
  • 关于Blog
  • ArcSDE 快速入门
  • JavaScript 学习之 instanceOf, typeOf 运算符
  • 分享一款快速APP功能测试工具
  • docker-consul
  • Git同步原始仓库到Fork仓库中
  • js作用域和this的理解
  • PHP的Ev教程三(Periodic watcher)
  • yii2中session跨域名的问题
  • 阿里云购买磁盘后挂载
  • 给初学者:JavaScript 中数组操作注意点
  • 三栏布局总结
  • 转载:[译] 内容加速黑科技趣谈
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C#)获取字符编码的类
  • (C#)一个最简单的链表类
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)计算机毕业设计大学生兼职系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ***原理与防范
  • .Net IOC框架入门之一 Unity
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net反编译的九款神器
  • @Bean有哪些属性
  • @TableLogic注解说明,以及对增删改查的影响
  • [2016.7.Test1] T1 三进制异或
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [APIO2012] 派遣 dispatching
  • [CC-FNCS]Chef and Churu
  • [CSDN首发]鱿鱼游戏的具体玩法详细介绍
  • [CTO札记]如何测试用户接受度?
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [git] windows系统安装git教程和配置
  • [jQuery]div滚动条回到最底部
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [MICROSAR Adaptive] --- Hello Adaptive World
  • [mmucache]-ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲
  • [p4] Uncheckout other user‘s file?
  • [Quest ActiveRoles Management Shell for Active Directory] QADProxyAddress命令相关的bug。