Images.xcassets概述功能方便用戶管理圖像資源。圖片獲取方式Images.xcassets中的圖片資源只能通過imageNamed:方法載入,通過NSBundle的pathForResource:ofType:無法獲得圖片路徑。因此,Images.xcassets只適合存放系統常用的,占... ...
Images.xcassets
概述
功能
方便用戶管理圖像資源。
圖片獲取方式
- Images.xcassets中的圖片資源只能通過imageNamed:方法載入,通過NSBundle的pathForResource:ofType:無法獲得圖片路徑。
- 因此,Images.xcassets只適合存放系統常用的,占用記憶體小的圖片資源。
AppIcon
例1
- finder中顯示
- content.json
- iPhone6s plus上的顯示
- iPhone6上的顯示
此時修改圖片集
拖入60pt 2x圖片
總結
- 每一組下麵的像素數目指的的為1x的時候的圖片的大小(iPhone4之前為1x)
- 若拖入的圖片不符合尺寸,編譯將無法通過。應該先裁剪出對應大小的圖片,再拖入界面中對應的位置
- 上圖中從左到右,圖片尺寸分別是:120120,140140。
- 可以看到,拖入的文件名在content.json中有顯示
- 如果2x存在60pt或者40 pt對應的文件時,在spotlight和App icon都將使用該圖片scale後的對應大小 ###例2 AppIcon尺寸
- finder中查看
- iPhone6s上
- iPhone6p上的App圖標
- 如果此時再來修改AppIcon圖片集
- 若此時添加40pt 2x對應的圖片,再運行spotlight中顯示的還是之前的app icon
- 即使把xcode中60pt 2x的圖片刪除,在content.json中也看到對應的圖片名字消失了。但是在iPhone6上看到的App icon還是下麵這個樣子
- 拖入新的60pt 2x的圖片 ###總結
- 如果只是刪除2x或3x的全組圖片。那麼顯示仍採用之前的圖片
- 拖入新的圖片文件後,無需更改,手機即可顯示新的圖標
- 如果spotlight的圖片不是一開始就設置好的話,那麼後期拖入不會改變spotlght上顯示的icon
用戶圖片資源
新建文件夾和圖片集
通過New Folder建立新的文件
夾通過New Image Set建立新的圖片集

拖入裁減好的圖片


- 代碼引用方式
- name使用的是image set的名字
- 雙擊iamge set即可修改圖片集的名字
self.header.image = [UIImage imageNamed:@"header"];
self.suit.image = [UIImage imageNamed:@"closing"];
- 運行界面 
修改顯示的圖片
無需修改代碼,只需將圖片拖入對應的Image Set即可

總結
- 從本例中可看出使用xcassets管理圖片資源的方便之處:可以更換圖片而無序修改代碼
- 圖片很好地存放在xcasset中,項目中不會看到大量的混亂的圖片文件