iOS 【如何去除 UILabel 邊緣異常黑線/陰影】

王中堯發表於2018-11-14

 

場景

在最近的專案中,要手動去搭建即時通訊部分,在聊天頁面的佈局中,發生了奇怪的現象:在表示時間的 label 上部,隱約可以看到一條黑色的陰影,雖然不明顯,但還是逃不過 UI 人員的畫素眼。

首先看一下該場景截圖:

 

原因

當設定 UILabel 的 frame 時,如果 frame 存在小數的情況,畫素渲染到螢幕上會出現奇怪的陰影。

 

解決

在 OC 語言環境下,我們可以用 CGRectIntegral 函式進行處理,只需要傳入計算好的 frame,然後把取整的 frame 結果重新賦值給 label。

CGRectIntegral(this_frame)

如果是在 Swift 語言環境下,可以

this_frame.integral

 

相關文章