【问题标题】:Programmatic constraints cut the bottom of my label off编程约束切断了我的标签底部
【发布时间】:2020-03-22 04:20:24
【问题描述】:

我有一个带有根 UITableViewCell 和子 UILabel 的 Nib 文件,我在运行时使用编程约束锚定它

        lblAccountItemTitle.translatesAutoresizingMaskIntoConstraints = false
        lblAccountItemTitle.topAnchor.constraint(lessThanOrEqualTo: self.topAnchor, constant: 16).isActive = true
        lblAccountItemTitle.bottomAnchor.constraint(lessThanOrEqualTo: self.bottomAnchor, constant: -16).isActive = true
        lblAccountItemTitle.leadingAnchor.constraint(equalTo: imgAccountItemLeft.trailingAnchor, constant: 16).isActive = true
        lblAccountItemTitle.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -32).isActive = true
        lblAccountItemTitle.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true

另外,我注意到我的底部锚点越短,文本被剪裁的越少

如何在保持相等的 16 个垂直填充的同时摆脱剪裁?

【问题讨论】:

  • 尝试删除标签的顶部和底部约束,因为它已经对视图的 Y 中心进行了约束。 (或将其更改为图像的 centerY。)。

标签: ios swift xcode uilabel nslayoutconstraint


【解决方案1】:

both 图片和标签底部锚点从 equalTo 更改为 lessThanOrEqualTo

lblAccountItemTitle.bottomAnchor.constraint(lessThanOrEqualTo: self.bottomAnchor, constant: -16).isActive = true

【讨论】:

  • 如果我改变字体大小,那么它将与其余的tableview项目不一致。我需要文本是我拥有的确切大小,并且在顶部和底部有 16 个填充,并且单元格应该相应地调整它的高度。
  • 然后去掉 centerYAnchor 试试
  • 文本仍然剪辑
  • 我认为你的图像和这个标签是 tabelview 单元格的底部。将两个项目的底部锚点从 equalTo --> lessThanOrEqualTo
  • 图像只是垂直居中。我不确定约束是否有问题。似乎单元格不会自动调整大小。
【解决方案2】:

我以编程方式将标签固定到单元格而不是Content View

self.topAnchor

应该是

self.contentView.topAnchor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2016-10-21
    • 2017-05-15
    相关资源
    最近更新 更多