我正在制作一个教程,有趣的东西引起了我的注意.我刚刚创建了一个单视图应用程序项目,我注意到两个.xib文件,一个名为ViewController_iPhone.xib,一个名为ViewController_iPad.xib.在我的项目中,如果我想为iPhone和iPad使用不同的.xibs,我会使用适用于iPhone的ViewController.xib和适用于iPad的ViewController~ipad.xib.我有点明白,这可能是一个新的命名约定,但是如果我针对较旧的iOS版本,我可以使用这个命名约定事件吗?
这也发生在xCode 4.6中
这也发生在xCode 4.6中
谢谢.
解决方法
我想你可能在iOS上遇到过通用应用程序,或者可能根据设备加载.xib文件.无论哪种方式你应该使用~ipad而不是~iPad和~
iphone而不是
~iPhone让它正常工作.
~iPhone让它正常工作.
两者在模拟器上都是一样的,但先前会在设备上丢弃.
请查找Apple参考文献iOS Supports Device-Specific Resources的摘录
iOS支持特定于设备的资源
在iOS 4.0及更高版本中,可以将各个资源文件标记为仅在特定类型的设备上可用.此功能简化了您必须为Universal应用程序编写的代码.您可以让捆绑加载例程选择正确的文件,而不是创建单独的代码路径来为iPhone加载一个版本的资源文件,为iPad加载不同版本的文件.您所要做的就是适当地命名您的资源文件.
要将资源文件与特定设备相关联,请在其文件名中添加自定义修饰符字符串.包含此修饰符字符串会产生具有以下格式的文件名:
.
该字符串表示资源文件的原始名称.它还表示从代码访问文件时使用的名称.同样,字符串是用于标识文件类型的标准文件扩展名.该字符串是区分大小写的字符串,可以是以下值之一:
~ipad - The resource should be loaded on iPad devices only. ~iphone - The resource should be loaded on iPhone or iPod touch devices only.