gpt4 book ai didi

ios - UILabel 有时会在文本上方呈现 1px 高的线的 NSAttributedString

转载 作者:行者123 更新时间:2023-11-28 23:44:56 24 4
gpt4 key购买 nike

这对我来说有点奇怪。我在标签中显示了一些复杂的属性文本,它一直运行良好,直到最近一条小灰线开始出现在某些文本行上方,如下所示:

image

请注意,这与 tableview 单元格分隔符不同,它仅出现在标签的矩形上方。

经过一些调试,我还注意到当我没有带蓝色小括号的“flair”标签时,该行不会出现: enter image description here

我正在使用以下代码添加有问题的蓝色标签:

let captionFont = UIFont.preferredFont(forTextStyle: UIFontTextStyle.caption1);
let offset = (bodyFont.lineHeight / 2) - (captionFont.lineHeight / 2)

attributedString.addAttributes([NSAttributedStringKey.font : captionFont, NSAttributedStringKey.foregroundColor : Constants.linkColor, NSAttributedStringKey.baselineOffset:offset], range: flairRange!)

我做错了什么?这是 CoreText 错误吗?

最佳答案

经过反复试验,我确定问题仅在 offset 为十进制值时出现。当我简单地用

替换我的偏移线时

让 offset = ceil((bodyFont.lineHeight/2) - (captionFont.lineHeight/2))

该行不再出现。我怀疑这是一个 CoreText 错误。

enter image description here

关于ios - UILabel 有时会在文本上方呈现 1px 高的线的 NSAttributedString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52795424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com