答案 0 :(得分:9)
您所要做的就是将UILabel
设置为numberOfLines
让我们说7,换行模式为.byTruncatingTail
。
然后点击按钮,只需将numberOfLines
更改为0,将换行模式更改为.byWordWrapping
。然后,当您希望隐藏文本时,只需按下按钮并将UILabel
设置为其初始值。
答案 1 :(得分:4)
要解决有关AutoLayout
的问题read。这是一个很好的例子。
这是编码部分。此类包含IBOutlet
的高度UITextView
和按钮操作。
class ViewController: UIViewController {
let defaultHeight = 128
let expectedHeight = 600
var state: Bool = false
@IBOutlet weak var height: NSLayoutConstraint!
@IBAction func showAction(_ sender: Any) {
UIView.animate(withDuration: 0.3, animations: {
self.state = !self.state
self.height.constant = CGFloat(self.state ? self.expectedHeight: self.defaultHeight)
self.view.layoutIfNeeded()
})
}
}
这是来自故事板。
答案 2 :(得分:1)
您可以为UILabel设置高度约束,并在点击按钮事件中将约束常量更改为标签的内容大小。
您可以使用
为其设置动画UIView.animate(duration)