iPhone中的设备专用资源

iPhone中的设备专用资源,第1张

概述根据 iOS Reference Library: 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和~ip 根据 iOS Reference Library:

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中的设备专用资源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1082945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存