2011-08-31 82 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,並根據它下載相關圖像。