多行属性字符串标签的NSBackgroundColorAttributeName

覆盖地图的文字

我正在尝试显示覆盖信息的地图。 为了提高地图的易读性,我尝试了几种方法(文本阴影,轮廓文本,使地图变暗),但没有真正有效 – 因此我尝试在文本下方使用半透明框。

我正在使用NSBackgroundColorAttributeName ,正如您在屏幕截图中看到的那样 – 适用于单行标签。 但是在多行情况下,即使上面没有字符,该框似乎也会填满整行。

这是NSAttributedStringUILabel一个错误,还是我对它的使用? 你知道更好的方法吗?

添加换行符时你正在做的事情本质上是用另一行扩展UILabel。 所以截图中看到的结果是很自然的。

你不能这样解决它。 我建议您研究一下这个解决方案: 突出显示UILabel中的文本

我有相反的问题……这是如何强制它填补线!

在您的情况下 – 您需要做的就是:

map_name.addAttribute(NSBackgroundColorAttributeName,value:nil,
范围:nsRange_of_line_feed_char)

对于每个行尾的位置。