一兽埃、問題
某些需求需要用到button 和 label侥钳,并且需要同一行對齊,例如某個提示欄柄错,上面有一部分提示文字不可點擊舷夺,但是有一部分文字可以點擊并跳轉(zhuǎn)。因此通過sizeWithAttributes或者其他系統(tǒng)方法計算字符串size,然后設(shè)置button的大小為對應(yīng)title計算出來的大小售貌,label對齊button,并且大小設(shè)置為對應(yīng)text字符串的大小给猾,在坐標(biāo)和大小一樣的情況下出現(xiàn)了,字體沒對齊的情況:
二颂跨、復(fù)現(xiàn)問題:
創(chuàng)建一個button 和 一個label,坐標(biāo)如下:
frame = (0 50; 199.131 35.8008)
frame = (199.131 50; 199.131 35.8008)
研究一下發(fā)現(xiàn)敢伸,兩個view的y坐標(biāo)是一樣的,輸出了背景顏色也沒看到兩個view背景區(qū)域不同恒削,進(jìn)一步發(fā)現(xiàn)當(dāng)x池颈、y的值也為浮點數(shù)的情況下偏差會更大,然后嘗試將frame的值通過全部取整后發(fā)現(xiàn)兩個view對齊了,如下圖:
三钓丰、結(jié)論
button 和 label內(nèi)部對浮點坐標(biāo)的處理不同躯砰,如果需要不同的view對齊的時候,并且使用frame布局的時候携丁,要保證frame的值都是整數(shù)琢歇。