2016-06-30 31 views

回答

3

你應該使用的資產目錄因爲這是蘋果希望你使用前進(該工具將反映)什麼,他們帶來許多好處:

  • 應用細化

  • 設置無代碼的資產屬性,例如渲染模式或切片

  • 你不必記住像@2x~ipad-568等命名約定來獲得特定設備的資產自動

  • 資產目錄會指出,缺少資產,如果您選擇了正確的盒版本和設備,你支持,他們提供了一個很好的概述

  • 你應該習慣給他們一些平臺(例如,watchOS)要求您使用資產目錄

有幾個注意事項:

  • 如果你回部署到iOS 6,一些功能don't work as expected - 資產目錄還幫助組織你的資產,但運行時功能將無法正常工作的Xcode將只轉儲普通的圖像文件到您的包。

  • 如果您部署到iOS 7或更高版本,Xcode將編譯所有資產到一個.car文件(這是整個想法)。但是,由於無法查看編譯的文件,因此調試起來可能會更加困難,這也意味着您無法簡單地從單個資產中獲取文件URL。要創建文件URL,您必須始終加載資源(按其名稱)並將其首先寫入磁盤。 *

  • 最後一點,也意味着你不能使用NSBundle(斯威夫特3.0:Bundle)API來獲取URL或路徑的圖像文件。爲了從主包以外的包中加載資產,您需要依靠Apple提供一個API,即which they do since iOS 8.0。如果您在資源包中組織共享代碼並部署到iOS 7或更早版本,則不應使用資產目錄。如果你打算開發一個框架,這可能是最相關的。

*例如,在CoreSpotlight API允許您設置一個thumbnailURL,但如果你的形象是一種資產目錄中,則必須單獨它寫入磁盤自己,或者使用thumbnailData屬性。如果你有一個文件的URL開頭,你永遠不必將資產加載到內存中。我不確定Spotlight是否可以從您的應用捆綁包中訪問文件網址。這只是一個例子。

1

您應該使用資產。好處很多文件夾引用不能做

1)圖像的色彩變化沒有任何代碼

2)支持向量,PDF更好。

3)支持Slicing image

enter image description here

4)管理的資源更容易自動佈局。如果您的資源有1x,2x,3x和ipad image size != iphone image size,則可以將6個文件添加到1個資產項目中。

你可以在這裏閱讀更多 http://krakendev.io/blog/4-xcode-asset-catalog-secrets-you-need-to-know

相關問題