May*_*hyu 5 expand uitextview uilabel ios swift3
我想在段落末尾添加“阅读更多”。当我点击“阅读更多”文本时,它应该展开并在最后显示“更少”。单击“较少”文本时,文本将折叠。
我在谷歌找到了很多示例工作。但是,我不太明白,大多数项目都是用Objective-C实现的。我也在youtube上找到了。
我想知道使用Swift 3实现这一点的示例代码。
我可以在不使用任何额外库的情况下实现吗?
请帮我。
messageLabelmessageLabel点击“阅读更多”按钮增加高度约束常数,点击“阅读更少”减少高度约束常数。
@IBOutlet weak var btn: UIButton!
@IBOutlet weak var lblHeight: NSLayoutConstraint!
var isLabelAtMaxHeight = false
@IBAction func btnAction(_ sender: Any) {
if isLabelAtMaxHeight {
btn.setTitle("Read more", for: .normal)
isLabelAtMaxHeight = false
lblHeight.constant = 70
}
else {
btn.setTitle("Read less", for: .normal)
isLabelAtMaxHeight = true
lblHeight.constant = getLabelHeight(text: yourSummaryText, width: view.bounds.width, font: yourSummaryLabel.font)
}
}
Run Code Online (Sandbox Code Playgroud)获取文本高度
func getLabelHeight(text: String, width: CGFloat, font: UIFont) -> CGFloat {
let lbl = UILabel(frame: .zero)
lbl.frame.size.width = width
lbl.font = font
lbl.numberOfLines = 0
lbl.text = text
lbl.sizeToFit()
return lbl.frame.size.height
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12359 次 |
| 最近记录: |