我正在尝试显示覆盖信息的地图。为了提高地图的易读性,我尝试了几种方法(文本阴影,轮廓文本,使地图变暗),但没有什么真正有效 - 因此我尝试在文本下方使用半透明框。
我正在使用NSBackgroundColorAttributeName
,正如您在屏幕截图中看到的那样,它适用于单行标签。但是在多行情况下,即使上面没有字符,框似乎也会填满整行。
这是NSAttributedString
,UILabel
中的错误,还是我对它的使用?你知道更好的方法吗?
答案 0 :(得分:1)
添加换行符时你正在做的事情本质上是用另一行扩展UILabel。所以截图中看到的结果是很自然的。
你不能这样解决它。我建议你研究一下这个解决方案:Highlight just the text in a UILabel
答案 1 :(得分:0)
我有相反的问题......这是如何强制它填补这条线!
在您的情况下 - 您需要做的就是:
map_name.addAttribute(
NSBackgroundColorAttributeName,
价值:零,
范围:nsRange_of_line_feed_char)
表示每个行尾的位置。