And*_*rew 3 iphone objective-c xib nib ipad
所以我正在编写一个应用程序,我希望它是通用的.当我创建项目时,我创建了一个通用应用程序.我已经编写了所有的iPhone代码,并且有10个类.现在我要创建iPad版本.我想基于设备类型加载不同的Nib,而不是拥有两组基本上完全相同的代码.
我尝试在app委托中使用BOOL并且遇到了麻烦.我在mainViewController类中尝试了设备检查,(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 我根据设备类型返回了一个不同的nib.但我只能得到iPhone版本或空白笔尖.在此先感谢您的帮助.
小智 6
根据文档(资源编程指南),您可以使用名称约定,如:myNibName~ipad.xib和myNibName~iphone.xib,因此每个文件只能在支持的设备上打开.你甚至不需要设置不同的appDelegates :)
---来自doc ---在iOS 4.0及更高版本中,可以将各个资源文件标记为仅在特定类型的设备上可用.此功能简化了您必须为Universal应用程序编写的代码.您可以让捆绑加载例程选择正确的文件,而不是创建单独的代码路径来为iPhone加载一个版本的资源文件,为iPad加载不同版本的文件.您所要做的就是适当地命名您的资源文件.
要将资源文件与特定设备相关联,请在其文件名中添加自定义修饰符字符串.包含此修饰符字符串会产生具有以下格式的文件名:
.
该字符串表示资源文件的原始名称.它还表示从代码访问文件时使用的名称.同样,字符串是用于标识文件类型的标准文件扩展名.该字符串是区分大小写的字符串,可以是以下值之一:
~ipad - 资源只能加载到iPad设备上.~iphone - 资源只能加载到iPhone或iPod touch设备上.
| 归档时间: |
|
| 查看次数: |
3791 次 |
| 最近记录: |