ios appIcon配置

來源:互聯網
上載者:User

標籤:

iOS 我所知道的Assets.xcassets字數923 閱讀723 評論1 喜歡3

Assets.xcassets是用來存放映像資源檔的。將一個圖片放在Assets裡面是這個樣子的


目錄結構Image Set

Image Set映像集,下面有個Name,這個Name並不是指圖片的名字而是指像集的名字。什麼意思?上個圖說明一下,


Image Set

[UIImage imageNamed:@"xxx"]通常這裡xxx就是相集的名字,在相集裡面放兩張不一樣的@2x和@3x圖片,在iPhone6和iPhone6 Plus載入出來的會不一樣。


兩個完全不一樣的圖片Devices

Devices下面有很多設定具體效果可以參見demo請戳這裡下載

1、設定相同的相集下面的顯示不同的圖片。比如一個APP是適配iPhone和iPad,在iPhone上顯示A圖片,在iPad上顯示B圖片,勾選上iPhone和iPad那麼可以對iPhone和iPad單獨設定圖片


不同裝置不同圖片

2、根據sizeClass設定圖片,比如6Plus在橫屏的時候顯示A圖片,在豎屏的時候顯示B圖片那麼久可以設定Devices下面的 Width 和 Height


不同size不同圖片

3、Memory和Graphics雖然我很想寫,但是我真的不知道。還沒用到過。希望知道的小夥伴可以留言告訴我。

4、 Scale Factors 可設定向量圖(Singele Vector)和位元影像(Vector wiht Overrides)

我們知道xcode可以放PDF格式的圖片代替@2x,@3x圖片,這樣即使放大也不會失真


設定PDF向量圖片

5、 Render As 預設是Default還有兩個分別是Oriminal Image(始終繪製圖片原始狀態,不使用Tint Color)Template Image(始終根據Tint Color繪製圖片,忽略圖片的顏色資訊)

比如設定UITabBarItem中的圖片的時候,預設情況下回對圖片進行渲染成藍色,(具體可以參照demo的第一個UITabBarItem),這個時候我們需要回複圖片本來的顏色,這是圖片的渲染為Oriminal Image就行了。
如果用代碼實現的話,是這樣

[[UITabBarItem alloc] initWithTitle:tittle image:[[UIImage imageNamed:@"image"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] selectedImage:[[UIImage imageNamed:@"selectedImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
Image

圖片的資訊比如 檔案名稱(File Name) 大小(Size)等等上面設定的資訊

Slicing

這個是用來設定圖片的展開的。例如QQ聊天的氣泡,四個角不被展開,中間的可以展開。如果用代碼實現的話,可以參考MJ的部落格。在Assets.xcassets怎麼實現呢?


QQ20160409-0.png
開始展開
選擇展開方向


拖動圖片上的三根線,Slicing的值會跟著改變,在左側線和中間線之間的像素會在展開時被填充,在中間線和右側線之間的像素將被隱藏。在上側線和中間線之間的像素會在展開時被填充,在中間線和下側線之間的像素將被隱藏。


展開參數
不被展開的地區總結:

如果圖片存放在assets資源管理員,最終裡面所以的圖片會被打包成Assets.car(用ThemeEngine可以把圖片弄出來),其作用在於

1、 自動識別@2x,@3x圖片,

2、 根據不同的裝置,不同的解析度設定相應的圖片。

3、 可以對圖片進行剪裁和展開處理

在.car中的圖片是不能通過imageWithContentsOfFile:來載入
imageName:載入的圖片要麼是Assets.car中的圖片,要麼是資源套件(mainBundle)中直接存放的圖片。如果用imageNamed:從Images.xcassets以外的地方載入圖片,必須在檔案名稱後加副檔名,例如:

 UIImage *image=[UIImage imageNamed:@"plus.png"];

demo下載

ios appIcon配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.