• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何使用自动布局处理 UITableViewCell 内的 UILabel?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 21:59:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

如何使用自动布局处理 UITableViewCell 中的 UILabel ?根据该标签的长度..这是我的观点:

enter image description here

我希望蓝色标签位于中心,但如果它很长,则不要与同一单元格中的相邻标签交叉。

我在它们之间添加了约束,但它不会在中心。

对这种类型的细胞有什么好的限制吗?



Best Answer-推荐答案


让我们将标签命名为 title_labeldetail_label,即在您的第三个单元格中,“服务”是标题,另一个长标签是详细信息。

我。将 title_label 的前导空格设置为 superview 根据您的需要设置常量。并创建它的导出让它成为constraint_title_leading

二。 title_label 在容器中垂直居中。

三。现在将 detail_label 的前导空格设置为 title_label 的尾部。设常数为 8 点。创建一个导出,让它的名字是 constraint_detail_leading

四。将 detail_label 设置为垂直居中 w.r.t title_label 或 superview。

六。将 detail_label 的内容对齐设置为居中。

七。将详细标签的尾随空格设置为 superview 不关心它的常量,我们将在代码中更改它。让它的名字是 constraint_detail_trailing

八。设置单元格的数据源后调用此方法。

func adjustConstraints() -> Void {


   let titleWidth =   (self.title_label.text! as NSString).boundingRectWithSize(CGSizeMake(600, 600), options: .UsesLineFragmentOrigin, 
    attributes: [NSFontAttributeName : self.title_label.font], context: nil).width 

    self.constraint_detail_trailing.constant = self.constraint_title_leading.constant + titleWidth + self.constraint_detail_leading.constant 
    self.layoutIfNeeded() 
}

启用多行,即行的动态高度,而不是 detail_label 的中心约束将其固定到顶部和底部 w.r.t super View ,以便顶部常量等于底部常量并设置其 numberOfLines 为 0。并设置 self.tableView.rowHeight = UITableViewAutomaticDimension

关于ios - 如何使用自动布局处理 UITableViewCell 内的 UILabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39259107/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap