gpt4 book ai didi

ios - 使用 Swift 3 阅读更多/更少

转载 作者:可可西里 更新时间:2023-11-01 05:43:04 26 4
gpt4 key购买 nike

我想在段落末尾添加“阅读更多”。当我点击“阅读更多”文本时,它应该展开并在末尾显示“更少”。单击“更少”文本时,文本将被折叠。

enter image description here
我在谷歌中找到了许多样本工作。但是,我不是很清楚,大多数项目都是用 Objective-C 实现的。我也在 youtube 上找到它。
我想知道用 Swift 3 实现这个的示例代码。
我可以在不使用任何额外库的情况下实现吗?
请帮助我。

最佳答案

  • 为您的 messageLabel 的高度限制创建一个导出
  • 将“阅读更多”按钮的顶部布局设置为 messageLabel
  • 点击“Read more”按钮增加高度约束常数,点击“Read less”减少高度约束常数。

    @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)
    }
    }

获取文本的高度

    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
}

关于ios - 使用 Swift 3 阅读更多/更少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42338768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com