日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

IOS 關于分辨率的那點事

系統 2539 0

轉載自:http://www.cnblogs.com/BigPolarBear/archive/2012/03/26/2417777.html

?

都說做iOS開發比Android省心,那么iOS是如何做到這一點的呢?我們今天就來分析一下,希望對做iOS的界面設計的同學有點幫助。

?

1 iOS設備的分辨率

iOS設備,目前最主要的有3種(Apple TV等不在此討論),按分辨率分為兩類

iPhone/iPod Touch

普屏分辨率????320像素 x 480像素

Retina分辨率 640像素 x 960像素

iPad,iPad2/New iPad

普屏 ???????768像素 x 1024像素

Retina屏 ?1536像素 x 2048像素


2 ?iOS設計時用的點與分辨率的關系

盡管有上面列出的4種分辨率情況,不過細心的人會發現,對于Retina屏的分辨率始終保持為普屏的2倍,這對于iOS的設計還是開發的時候提供的莫大的方便,自然可以想到對于界面設計而言,只需要設計一套,然后進行等比例放大縮小即可。實際進行設計與開發的時候,也確實是這樣,Apple為了防止在交流過程中(尤其對于編程實現)分辨率對思維的迷惑,統一使用 點(Point) 對界面元素的大小進行描述,例如:?

iPhone/iPod Touch

界面描述 ? ?320點 x 480點

iPhone/iPad

界面描述 ? ?768點 x 1024點

換算關系?

普屏 ??????1點 = 1像素?

Retina屏 1點 = 2像素?

這樣,不管我們是在為普屏還是Retina屏進行設計與開發,我們都可以清楚地,并且統一地使用點對界面元素的大小進行描述了。


3 ?iOS界面圖片的命名

現在我們能夠用統一的語言描述兩種屏幕的界面元素的大小,但是我們如何針對不同屏幕設置不同分辨率的圖片素材呢?難道說開發的時候我們要在每一個圖片加載的地方進行,添加判斷當前設備是否是Retina屏的語句,然后加載對應的圖片嗎?當然可以這樣做,但是iOS有一套更簡便的方法進行自動加載,即通過規范的文件名命名。例如下面這條加載圖片的語句:

[UIImage?imageNamed: @" pic.png " ]] ?

在實際運行時,如果發現當前的設備是Retina屏,會自動尋找圖片"pic@2x.png" ,自動加載針對Retina屏的圖片素材,是不是很方便呢?

所以,我們在制作iOS設備時,可以仿照下面這樣,對圖片文件進行分類,對于640x960文件夾里的圖片,文件命名添加"@2x"即可。

?

4 ?iOS應用常用圖標的命名規范

可以參考下面兩個文檔:

Apple對此問題的Q&A ?

Apple的官方說明文檔

請務必按照文檔中描述的規范進行圖標的命名!!

?

PS:一些額外的圖標參考

a 圖標會自動添加高亮效果,如果不需要,可以在plist中明確指定 UIPrerenderedIcon 的鍵值去掉

b 57像素的普屏的iPhone圖標,圖標圓角的半徑為10像素

c 114像素Retina屏的iPhone圖標,圖標圓角的半徑為20像素

d 512像素的用于iTunes/App Store的圖標,在實際顯示是會被縮放到175像素進行顯示(但提交是不可以提交175像素)

e 72像素的普屏iPad圖標,圖標圓角的半徑為13像素

f 144像素Retina屏iPad圖標,圖標圓角的半徑為26像素

g 50像素iPad的Spotlight搜索圖標的最終視覺大小是48像素,原因是iOS會對圖標的每個邊去掉1個像素,添加陰影效果

h 100像素Retina屏的Spotlight搜索圖標的最終視覺大小是96像素,原因同上,這次是每邊減2個像素

IOS 關于分辨率的那點事


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 全州县| 新野县| 连州市| 盘锦市| 滨州市| 安图县| 广东省| 谷城县| 武山县| 玛多县| 武强县| 中牟县| 宜昌市| 左云县| 双辽市| 如东县| 正宁县| 海林市| 德昌县| 山东省| 双桥区| 胶南市| 遂宁市| 土默特左旗| 昂仁县| 交口县| 井冈山市| 丹寨县| 太仆寺旗| 洪泽县| 新密市| 上虞市| 平原县| 潍坊市| 宝山区| 门头沟区| 金阳县| 兰州市| 象州县| 防城港市| 阳江市|