在某些情况下,我必须使用UITextView而不是UILabel(使链接属性可以点击)。 这是我的代码:
let attributedString = NSMutableAttributedString(string: "TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest")
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = .byTruncatingTail
attributedString.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSMakeRange(0, attributedString.length))
这是我的textView:
private lazy var titleTextView: UITextView = {
let view = UITextView(frame: .zero, textContainer: nil)
view.isEditable = false
view.textContainerInset = .zero
view.textContainer.lineFragmentPadding = 0
view.textContainer.maximumNumberOfLines = 2 // Set numberOflines here!
view.textAlignment = .left
view.isScrollEnabled = false
view.delegate = self
return view
}()
但是maximumNumberOfLines属性不起作用,它只显示1行,然后是" ..."
答案 0 :(得分:1)
您需要将lineBreakMode
设置为不截断的值。
尝试
paragraphStyle.lineBreakMode = .byWordWrapping
答案 1 :(得分:0)
当我设置linespacing属性时,UITextView.sizeToFit()计算的大小不足以显示超过1行。 但是在UILabel中,调用sizeToFit将计算机适当的高度,以便您显示更多行。