ios - 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
}
我希望最终结果看起来像这样:
解决方案
您可以在 Swift 中尝试这个第 3 方:https ://github.com/apploft/ExpandableLabel
将您的标签 UILabel 设置为 ExpandableLabel 并设置所需的属性:
yourLabel.numberOfLines = 2
yourLabel.collapsed = true
yourLabel.collapsedAttributedLink = NSAttributedString(string: "See more")
yourLabel.ellipsis = NSAttributedString(string: "...")
如果ExpandableLabelDelegate
您想在链接被触摸时收到通知,则可以这样做。
推荐阅读
- ruby - 无法为 Solargraph 安装 gem
- yii2 - 基于页面的 Yii2 资产包
- c++ - C++第N个斐波那契数大数运算问题
- javascript - 如何比较数组并查找一个字母是否在数组中的同一索引处以及它是否在数组中,即使它不在同一索引处?
- php - 错误未写入自定义类中的 error.log
- sql - 使用 SQL 查找日期的最大值
- debugging - 此设备类型与模块配置文件不匹配。部署 HAP 时出错
- javascript - 是否有一种全局方法来捕获“未捕获的 CKEditorError”
- thingsboard - Thingsboard - 仪表板数据视图
- php - 在 PHP 中从数组创建所有可能的子集