iOS 8.4 不更新 uicollectionviewcell 上的约束

Posted

技术标签:

【中文标题】iOS 8.4 不更新 uicollectionviewcell 上的约束【英文标题】:iOS 8.4 doesn't update constraints on uicollectionviewcell 【发布时间】:2015-07-22 11:47:49 【问题描述】:

我正在制作一个非常简单的collection view。我想要一个 image 在每个 cell 中,使单元格的宽度为一半。我用

修改单元格的框架
(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

我的图像只有 4 个约束(我在情节提要上制作):

单元格前导空格 = 0 单元格顶部的顶部空间 = 0 到单元格底部的底部空间 = 0 到单元格中心 X = 0 的右侧空间

事情是它在情节提要上看起来很好,但实际上并不适用。 这是一张图片:

我做错了什么?

谢谢

【问题讨论】:

你有没有设置image view的内容模式为scaleTofill 不,我使用了纵横比填充 您是否覆盖了UICollectionCellView 中的layoutSubviews 不,我没有。我只使用 dequeueReusableCellWithReuseIdentifier 并更改单元格的背景颜色。 使用 layoutSubview 你可以改变你的单元格大小...如果你想要图像正好是单元格的一半大小,那么你可以添加两个图像视图(或视图)然后将约束设置为相等的高度和相等的宽度 【参考方案1】:

尝试在你的 UIImageView 上设置缩放填充模式

【讨论】:

它有效,但我失去了原始方面。所以这不是一个完美的解决方案。为什么 Aspect Fill 不起作用? 你不能保持图像的纵横比同时强制它是单元格大小的一半

以上是关于iOS 8.4 不更新 uicollectionviewcell 上的约束的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 及更高版本 (8.4) 中不推荐使用 SegmentedControlStyle | Xcode 6.4

SDK“iOS 8.4”不允许临时代码签名

iPhone 升级到 iOS 8.4 后在 Xcode 7 beta2 中成为不合格设备

iPad ios 8.4 中不触发窗口加载事件

iPad ios 8.4 中不触发窗口加载事件

突发错误“iOS 8.4 模拟器运行时不可用。”在 Xcode 6.4 中