我想为UILabel
制作带下划线的文字。现在,我正在使用:
self.lbValue.attributedText = NSAttributedString(string: value, attributes:
[NSUnderlineStyleAttributeName : NSUnderlineStyle.styleSingle.rawValue])
它确实在文本下面画了一行,没问题。但是,当角色很高(并且低于基线)时,它会裁剪线条并在线条之间留下难看的空白区域,如下所示:
如你所见,角色下方有一个小点。这是我的下划线所在的地方。如何制作实线并重叠字符?像这样:
我尝试过其他风格(破折号,点,粗,实......)它们都没有像我预期的那样工作。
答案 0 :(得分:1)
这也可以通过其他更好的方式实现。我将向您展示一个示例 - :
1)添加一个标签,并在该标签下面添加UIView(它将作为下划线)。
2)提供适当的约束。
检查图片下方 - :
标签限制 - :
下划线视图约束 - :
现在在控制器类中添加<li><a onclick="cart.add('<?php echo $product['product_id']; ?>','1','<?php echo $related_option_value['name']; ?>');" class="btn-secondary btn-buy"><i class="fa fa-shopping-cart"></i><?php echo $button_cart; ?></a></li>
。此外,还为Outlets
下划线添加width
NSLayoutConstraint 。
我认为您的标签UIView
可以动态更改,我们会给下划线标签(宽度)一个 intrinsicContentSize 。这会根据width
中的内容调整下划线标签width
。
控制器类 - :
UILabel
<强>输出 - :强>
希望对您有所帮助。
答案 1 :(得分:0)
我建议您添加一个标签,其高度为1,宽度等于标签的宽度,并将其固定在内容标签下方(将标签的背景颜色设置为所需的下划线颜色)。
这可能不是您期望的解决方案,但它将解决该要求。 :)