只要标签的宽度符合要求?
我在这样的水平堆栈视图内有3个标签
第一个和最后一个标签将被dynamic填充一个可变长度的单词,而中间的单词总是包含单词“with”,例如:“用Swift编码!
我不想在每个单词之间留出额外的空间,因为如果单词很短,看起来很奇怪。 有没有什么方法可以使标签的宽度与他们所需的宽度相匹配? 这样,它看起来像一个标签(除了我让中间的标签有较小的文字)。
在UIView中添加3个标签,而不是堆栈视图。 并设置约束如图所示。
如何使用自动布局? 您可以在标签之间给出一个0的水平空间,并为中间的宽度给出一个约束。
如果你希望标签中的内容有不同的字体,你可以使用NSAttributedString
let boldFontDict:[String: AnyObject] = [NSForegroundColorAttributeName : UIColor.black, NSFontAttributeName: <UI Font>] let 1stString = NSAttributedString(string: "Hello") let 2ndString = NSAttributedString(string: "hii", attributes: boldFOntDict) let finalAttrStr = NSMutableAttributedString(attributedString: 1stString) finalAttrStr.append(2ndString) myLabel.attributedText = finalAttrStr
您可以采取一个标签,而不是采取三个标签,并将标签上的文字设置为
label.text= firstLabel.text + "with" + lastLabel.text
您可以使用自动布局来解决这个问题。