我需要在屏幕上畫一條線。設計師告訴我要將線的高度設置爲2.5點。我想知道在這裏使用小數是否可以接受。我們應該在iOS中佈局控件時嚴格使用整數嗎?爲什麼?
我知道如果我們使用整數作爲UIView
的大小或位置會更好。但我不知道爲什麼。我沒有找到任何有說服力的文件。 所以任何人都可以解釋它或找到適合我的東西?
我知道的唯一問題是小數大小的UILabel
會模糊。還有其他問題會出現性能問題嗎?
我需要在屏幕上畫一條線。設計師告訴我要將線的高度設置爲2.5點。我想知道在這裏使用小數是否可以接受。我們應該在iOS中佈局控件時嚴格使用整數嗎?爲什麼?
我知道如果我們使用整數作爲UIView
的大小或位置會更好。但我不知道爲什麼。我沒有找到任何有說服力的文件。 所以任何人都可以解釋它或找到適合我的東西?
我知道的唯一問題是小數大小的UILabel
會模糊。還有其他問題會出現性能問題嗎?
根據你的情況,這只是我認爲應該確定的一半。我經常發現,在故事板中,當我有很多UI元素時,我的框架上下移動了0.5個點,有時候我們只是感到困惑。
此外:當您的框架可以定位在「約0.5點」時,最簡單的情況是如果您使用約束將視圖居中在其超級視圖中。在這種情況下,默認的x或y框架位置很容易就會變成「大約0.5點」。所以它可能會經常發生,並可能由Xcode本身完成,所以我認爲你的觀點會很好。
正如前面在評論中指出的那些點是CGFloat。我們現在擁有1x,2x和3x分辨率。因此,至少有一個設備需要進行一些計算。
您也可以查看此Screen resolutions guide以查看發生上採樣和下采樣的所有時間。
視網膜屏幕將識別半個點。當然因爲框架是CGRects,所以使用浮動是安全的。該設備將處理估算點到顯示器上的值。儘管如此,在大多數情況下仍然堅持半數或全部。任何比這更細的東西都是非常挑剔的,並且使得佈局數學難以保持。 – markedwardmurray
@markedwardmurray我認爲iPhone 5和iPhone 6可以正確處理2.5分。但iPhone 6 Plus怎麼樣?我的意思是這不是一個完整的像素,它需要更多的計算。我認爲這是我們應該避免的一件令人意想不到的事情。 – Entreri