2011-08-31 30 views
2

我需要支持视网膜显示,但应用程序大小必须很小。因此,我打算启动非视网膜显示的应用程序,然后取出视网膜图像[如果需要]并切换到视网膜显示图像。 唯一的问题是,我的一些UIViews使用界面构建器构建,并且据我所知,界面构建器的图像源是主包,而视网膜图像将被下载到文档文件夹中。文档文件夹中的界面生成器图像

有没有办法让界面生成器在运行时间内处理一个新的包?

问候 中号

+0

为什么你想要的应用程序的大小是那么小?视网膜图像不应该增加太多的尺寸,除非你有大量的图像,在这种情况下,应用程序不会很小! – msgambel

+0

我们在令人兴奋的应用程序中编写了一个模块,该应用程序已经大约有17 MB大小。我们不允许通过19 MB的屏障,因为如果我们这样做的用户将收到“这个程序大小超过20 MB”警报(此警报将伤害下载的数量...) – m88m

回答

0

接口构建器用于预先构建接口并将整个事件打包为一个整体信息包。它从主包中获取图像。而且你不能在运行时写入主包...所以...你被卡住了。

但是......

如果你真的需要工作,你在谈论的动感风格,并希望能够获得所显示的图像从文件夹你的界面,你可以这样做:

为了方便,将低分辨率图像保存到您的IB以“查看”您正在处理的内容。但是,在viewDidLoad中,对于使用图像的每个项目,检查是否必须显示高分辨率图像,然后动态更改其.image属性,从Document文件夹加载高分辨率图像。要做到这一点哟需要一些IBOutlets,但这将工作。

+0

嘿奥利弗我已经在想关于一旦viewLoaded(子视图...)写入一个将在所有UIImage上传递的类别,但这是讨厌:)谢谢! – m88m

0

虽然我不认为图片应该做出太大的区别,以您的应用程序的大小当然,除非他们不是PNG,你可以阅读更多的细节here

其他解决方案是将所有图像保存在服务器上,当用户第一次打开应用程序时,您可以检查设备类型,即是否是iPhone 4和3/3GS,并根据它下载相关图像。

相关问题