我可以把文件放入Assets.xcassets
或我可以把文件放入文件夾引用(藍色文件夾)。我什麼時候會選擇一個呢?資產目錄vs文件夾參考:何時使用其中一個或另一個?
回答
你應該使用的資產目錄因爲這是蘋果希望你使用前進(該工具將反映)什麼,他們帶來許多好處:
應用細化
設置無代碼的資產屬性,例如渲染模式或切片
你不必記住像
@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)圖像的色彩變化沒有任何代碼
2)支持向量,PDF更好。
3)支持Slicing image
。
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
- 1. 確定Android資產條目是一個文件或目錄
- 2. 在Xcode中將一個資產目錄中的圖像集合複製到另一個資產目錄
- 3. 參考從一個文件夾
- 4. 在Xcode中從一個項目到另一個項目的參考文件
- 5. 如何添加從一個目錄複製到另一個目錄中增加的文件夾中的文件
- 6. 將文件夾內容從一個目錄移動到另一個目錄
- 7. 將文件夾從一個目錄移動到另一個目錄。在c#
- 8. 如何使用文件AWK作爲「參考」到另一個
- 9. 複製文件從一個目錄從一個文件夾到另一個使用sas
- 10. xcode - 將資產目錄複製到另一個項目
- 11. 資產:對另一個目錄的引用
- 12. 項目參考Vs文件參考?
- 13. 從資產文件夾中打開一個文件在android
- 14. 保留在另一個文件夾中,我如何從另一個目錄中打開特定文件?
- 15. Apache htaccess從一個目錄或另一個目錄加載文件
- 16. 將文件從一個目錄複製到另一個目錄
- 17. 將文件從一個目錄複製到另一個目錄
- 18. 將文件從一個目錄移動到另一個目錄
- 19. 將文件從一個目錄複製到另一個目錄
- 20. 將文件從一個目錄複製到另一個目錄
- 21. 將文件從一個目錄移動到另一個目錄
- 22. 將文件從一個目錄移動到另一個目錄
- 23. 將文件從一個目錄複製到另一個目錄
- 24. 從一個目錄的文件複製到另一個目錄
- 25. 從一個項目到另一個版本的其他在Eclipse中的參考
- 26. 使用Java將文件從一個目錄移動到另一個目錄
- 27. 使用Java NIO將文件從一個目錄移動到另一個目錄
- 28. 如何訪問資產目錄中的一個搖籃插件
- 29. 如何更換directoy另一個應用程序包的從資產文件夾
- 30. 如何使用ofstream在另一個目錄中寫入文件?
你應該從iOS 9開始使用資產,引入了應用程序切片功能,允許您將特定大小的資產投放到不同的設備上,從而減少應用程序大小和下載帶寬 – Shubhank