1、CoreText坐標(biāo)系下的起始X值
location.x 是 CoreText 坐標(biāo)系下的行起始 x 值
location 參數(shù)來自 CTFrameGetLineOrigins 返回的 lineOrigin,它表示文本行在 CoreText 坐標(biāo)系中的基線起點(diǎn) x 位置。
iOS 15 及以下:CoreText 對這種特殊的"分隔線"節(jié)點(diǎn)(.endWithNothing)返回的 lineOrigin.x 恰好為 0,所以 0 + 25.0 = 25,按鈕正好居中,bug 被掩蓋了。
iOS 16+:CoreText 更新了行原點(diǎn)的計算邏輯,對段落樣式(headIndent、firstLineHeadIndent)或?qū)R方式處理不同,導(dǎo)致這條特殊行的 lineOrigin.x 返回了一個非零值(比如文本左邊距本身的縮進(jìn)量),結(jié)果 location.x + 25.0 就偏大了。