為什麼 iPhone 6 的標籤欄高度是98px?

今天在讀 iOS 的App界面設計規範,看到 iPhone 6 的標籤欄高度是 98 px。想知道這個標籤欄高是怎樣被制定出來的。

設計規範見:iOS和Android的app界面設計規範


iPhone 6 標籤欄的高度只有在截圖和某些設計稿里才是 98 px,準確來說應該是 49 pt,並且不止 iPhone 6,iOS 在所有設備上的標籤欄高度都是這個值。畫圖歸畫圖,在 iOS 開發中除了分割線和某些特殊情況,一般不會以 px 作單位。

至於為什麼 iPhone 6 上 49 pt 會乘以 2 變成 98 px,那是因為蘋果給 iPhone 6 設置的 DPR (device pixel ratio) 是 2,這個值是蘋果自己定下來的,和屏幕解析度沒有絕對關係,任何解析度的屏幕,只要顯示效果合適,都可以將 DPR(或同樣含義的其他變數) 設為 2,MacBook Retina 和 iPhone 4 都是很好的例子。

也就是說,iPhone 6 在渲染的時候,會將 1 pt 渲染成 2 px,即 1 pt = 2 px。

但是 iPhone 6 Plus 的 DPR 不是 3,而大約是 2.46。因為它的渲染解析度是 2208 * 1242,但是物理解析度只有 1920 * 1080,(2208 / 1920) * 2.46 得出的結果才接近於 3,這是蘋果希望 iPhone 6 Plus 屏幕能夠顯示更多內容而作出的設計(而不僅僅是等比例放大 iPhone 6,儘管大多數 Android 設備從 xhdpi 到 xxhdpi 就是等比例放大的,不過這一點在 Nexus 6 也變了,它的屏幕解析度是 xxxhdpi,但是 DPR 是 3.5 而不是 4)。不過我們不需要想清楚那麼複雜的問題,總之畫圖時依然按照 1 pt = 3 px 來畫就對了。

我們知道 iPhone 6 的屏幕解析度是 {[(1334 ^ 2) + (750 ^ 2)] ^ (1 / 2)} px / 4.7 inch = 326 PPI (pixels per inch,每英寸的像素數),換句話說,在 iPhone 6 的屏幕上,1 英寸(約為 2.54 厘米)的長度等於 326 像素,拿尺子量一量就能發現,這比一般使用的 PC 乃至 MacBook Retina 都高,iPhone 6 的確是高清屏。

是不是還聽說過 1 pt = 1 / 72 inch(即英寸) 的說法?暫時忘了它吧,這是印刷行業的用法,pt 在屏幕顯示中有著更為抽象的涵義,因此這個換算關係對於理解現時的電子設備屏幕而言沒有直接幫助,強行套用只會得到錯誤的結論。

還有一個更為根本的問題,為什麼 iOS 標籤欄的高度是 49 pt?這個只能靠猜了。蘋果在 iOS HIG 里寫道,最小的觸控區域面積應是 44 pt * 44 pt,所以只要比這個數值大就可以了吧,49 pt - 44 pt = 5 pt,「5 這個數字並不難看,就它吧」,我猜蘋果的設計師在 9 年前可能是這麼想的。


設計標準一定是,足夠大保證手指不會誤觸,足夠小不佔用太多屏幕空間。真正有意義的是實際尺寸,而不是屏幕解析度。

比如這裡制定的98px,實際上在ipad 1/2上正好是其一半49px。這是因為後來版本的ipad的像素數在寬和高上各自增大了一倍,但是屏幕大小又沒有變化。為保證實際高度不變,才使用高一倍的像素。

至於為什麼iphone 6plus使用了三倍的像素,我找到了一個帖子里有解釋。

http://tieba.baidu.com/p/3295751098


反正定成97也有人提這個問題,還是98好了


要雙不要單


因為 「來吧,來吧,相約98」。。


因為它不是97


這個有情專業人士


向微軟的window98、window xp致敬吧


推薦閱讀:

幕後 | 告別全國空氣質量指數,他們更「在意」空氣:專訪「在意空氣」
iOS 開發需要哪些硬體條件?
iOS 系統怎麼降級?
iOS開發——你真的會用SDWebImage?
2016年寫文章總結

TAG:iPhone | iOS | 用戶界面設計 | 應用程序Application |