UICollectionViewCell 中的 NSLayoutConstraint:尺寸类自定义不起作用

Posted

技术标签:

【中文标题】UICollectionViewCell 中的 NSLayoutConstraint:尺寸类自定义不起作用【英文标题】:NSLayoutConstraint in UICollectionViewCell: Size Class Customization doesn't work 【发布时间】:2015-07-07 12:13:44 【问题描述】:

我正在尝试自定义 UICollectionViewCell 中图像的大小, 但我还没有达到结果。

这是我的牢房

这里是高度约束的检查器

我做错了什么?

更新:

我刚刚注意到一些日志

(
    "<NSLayoutConstraint:0x78fcab10 V:[UIImageView:0x78fcaa00(129)]>",
    "<NSLayoutConstraint:0x78fcb100 V:|-(8)-[UIImageView:0x78fcaa00]   (Names: '|':UIView:0x78fca940 )>",
    "<NSLayoutConstraint:0x78fcb130 V:[UILabel:0x78fcac40'Completed all MEDIUM quiz...']-(8)-|   (Names: '|':UIView:0x78fca940 )>",
    "<NSLayoutConstraint:0x78fcb190 V:[UIImageView:0x78fcaa00]-(8)-[UILabel:0x78fcac40'Completed all MEDIUM quiz...']>",
    "<NSAutoresizingMaskLayoutConstraint:0x79195380 h=--& v=--& V:[UIView:0x78fca940(50)]>"
)

但我不明白 NSAutoresizingMaskLayoutConstraint 是怎么出现在这里的。

【问题讨论】:

你能提供一些关于它在做什么的信息吗?是否记录了任何布局约束错误? @JoGoFo 谢谢,没有注意到日志消息 【参考方案1】:

从您的屏幕截图中:

    您水平对齐图像并添加了前导约束。如果您想拥有固定的图像大小,请将其删除。

    如果您希望视图自动调整图像大小(按宽度) - 移除宽度约束和水平对齐并添加尾随约束。

这取决于目标。

希望对你有帮助

【讨论】:

1.大于等于关系 @BergP,来自你的截图 - 它不是。它会在约束附近有“=>”符号 2.我需要通过约束来调整它的大小,因为标签可能包含 2 行,在这种情况下,集合视图中的图像将具有不同的大小。 @BergP,1。从图像视图中删除高度约束。 2. 为标签设置大于等于高度。 3. 固定在superview的底部。 4.为图像添加底部约束(到这个标签)。 5. 移除图片的高度限制 是的,我想过这个,但在这种情况下,我不能为标签添加大于或等于约束。因为它应该有不同的 iPad 字体大小,这让我们回到原来的问题 :) 我需要为标签的高度约束进行大小类自定义。

以上是关于UICollectionViewCell 中的 NSLayoutConstraint:尺寸类自定义不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 中的 UICollectionViewCell 中的按钮点击操作

UICollectionViewCell 中的按钮

UICollectionViewCell 内的 UIImageView 中的角半径

UICollectionViewCell 中的标签文本未更新

如何检测 UICollectionViewCell 中的 UITableViewCell 中的按钮点击?

UICollectionViewCell 中的 UILabel 为 nil