【问题标题】:CollectionViewCell, custom cell, autolayout constraints with multilineCollectionViewCell,自定义单元格,多行自动布局约束
【发布时间】:2015-03-18 12:03:04
【问题描述】:

我有带有自定义单元格的情节提要,我的自定义单元格上有 3 个视图,但其中一个视图导致了问题,UILabel支持 2 行。我使用W:Any-H:Any 并为这样的标签创建一个约束(现在,为了消除所有问题 - 我将它连接到超级视图,而不是最近的视图,但仍然会发生错误):

  1. 引领空间走向Superview
  2. 到 Superview 的尾随空间
  3. Superview 的顶部空间

所以它看起来像这样:

如果我从这个视图中删除约束,我不会收到错误,所以错误一定来自这个。

然后我得到约束错误:

(
    "<NSLayoutConstraint:0x7fe1d3df4e80 UILabel:0x7fe1d3df7730'Autos, Roller, Fahrr\U00e4der,...'.trailing == UIView:0x7fe1d7a33140.trailingMargin>",
    "<NSLayoutConstraint:0x7fe1d3df4ed0 H:|-(70)-[UILabel:0x7fe1d3df7730'Autos, Roller, Fahrr\U00e4der,...']   (Names: '|':UIView:0x7fe1d7a33140 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x7fe1d3dbb1c0 h=--& v=--& H:[UIView:0x7fe1d7a33140(50)]>"
)

有什么问题以及如何解决?

【问题讨论】:

  • 最后一行看起来像,由于某种原因,单元格的 contentView 想要 50 点宽,但是您试图将标签定位在距左侧 70 点的位置,并且它的尾随等于contentView 的尾随边距。你愿意在代码中做纯粹的自动布局吗?如果是这样,我可以帮助你构建你的细胞。我已经过渡到这种方法,以避免像这样令人讨厌的问题。

标签: ios objective-c storyboard autolayout constraints


【解决方案1】:

将 Trailing Space 的优先级更改为 999 是一种简单的解决方法,但我无法解释这是如何解决这个问题的。

似乎尾随空格(错误中的第一个约束)约束与从 contentView 的自动调整大小掩码(第三个约束)转换而来的约束冲突,此解决方法解决了它。

【讨论】:

    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多