In iOS 4.0 and later,it is possible
to mark indivIDual resource files as
usable only on a specific type of
device.
这是否意味着如果您要为3.X设备创建通用应用程序,特别是3.2 iPad,则不能将设备特定资源用于~ipad和~iphone sufixes?
如果是这样,这是处理特定于设备的资源的正确方法吗?
UIImage* anImage;if (UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPad) { anImage = [UIImage imagenamed:@"MyImage-iPad.png"];} else { anImage = [UIImage imagenamed:@"MyImage-iPhone.png"];}
我应该知道的任何其他考虑因素?
解决方法 是的,你是对的,这个功能在当前的iPad上不起作用 – iOS 3.2.作为一种解决方法,我在UIImage中创建了一个类别,所以我可以像anImage = [UIImage mbImagenamed:@“MyImage.png”]一样使用它.类别方法只是在iPad上添加后缀“~iPad” – 代码与您的类似.
另一个丑陋的事情是UIWindowControllers根据设备不加载xib文件.我为所有窗口控制器创建了一个基类,并加载了iPad特定的XIB:
@implementation MBPadAwareWindowController- (ID)init{ Nsstring *classname = NsstringFromClass([self class]); Nsstring *nibname = UI_USER_INTERFACE_IdioM() != UIUserInterfaceIdiomPad ? classname : [classname stringByAppendingFormat:@"-iPad"]; return [self initWithNibname:nibname bundle:nil];}@end总结
以上是内存溢出为你收集整理的iPhone中的设备专用资源全部内容,希望文章能够帮你解决iPhone中的设备专用资源所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)