微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UILabel swift 5 的“显示更多/显示更少”按钮

如何解决UILabel swift 5 的“显示更多/显示更少”按钮

我正在尝试在 tableView 单元格中为我的 UILabel 实现“显示更多/显示更少”功能。我试过在网上搜索解决方案,但它们似乎都过时了。

标题文本应该有 2 行,如果超过 2 行,它将扩展为全文

 lazy var captionText: UILabel = {
        let lbl = UILabel()
        lbl.numberOfLines = 2
        lbl.lineBreakMode = .byWordWrapping
        return lbl
    }()

func setupUI(viewmodel: FeedModel) {

        captionText.text = viewmodel.postDescription
}

我喜欢最终的结果是这样的:

Expandable UILabel sample

Expanded UILabel sample

解决方法

您可以在 Swift 中尝试这个 3rd 派对:https://github.com/apploft/ExpandableLabel

将您的标签 UILabel 设置为 ExpandableLabel 并设置所需的属性:

yourLabel.numberOfLines = 2
yourLabel.collapsed = true
yourLabel.collapsedAttributedLink = NSAttributedString(string: "See more")
yourLabel.ellipsis = NSAttributedString(string: "...")

它有 ExpandableLabelDelegate,以防您想在链接被触摸时收到通知。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。