ios - 一旦具有适当的大小,如何重新布局 CollectionView 单元格

标签 ios uicollectionview

我有一个 collectionview,我试图在每行上做 2 个单元格。看起来它正在从我的原型(prototype)单元格构建单元格并将所有内容正确居中。然后它运行我的 sizeForItemAtIndexPath 并使大小调整正确(每行 2 个单元格),但是所有标签都偏离了之前放置的中心。

我一直在搞 invalidateLayout 和 viewDidLayoutSubviews 但似乎没有任何效果。任何想法如何在运行 sizeForItemAtIndexPath 后强制单元格重新布局标签?提前致谢。

编辑: 这是两张图片。 这是第一个图像 sizeForItemAtIndexPath 被注释掉,单元格中的所有内容都格式化完美,但间距关闭: enter image description here 这是第二个,使用 sizeForItemAtIndexPath 使 collectionView 具有适当的间距。这是对齐在单元格内困惑的地方,而不是居中。 enter image description here

最佳答案

我有过 contentView 在我的单元格中更改为与 collectionView(_:layout:sizeForItemAtIndexPath:) 中的不同大小时无法正确调整大小的经历。将单元格出队后尝试添加以下内容:

let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath)
cell.contentView.frame = cell.bounds
cell.contentView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

如果您正在使用 UICollectionViewCell 的自定义子类,您可以将该代码放在 awakeFromNib() 的重写中:

override func awakeFromNib() {
    super.awakeFromNib()

    contentView.frame = cell.bounds
    contentView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
}

关于ios - 一旦具有适当的大小,如何重新布局 CollectionView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266881/

相关文章:

IOS 深度链接 - 将消息从电子邮件传递到您的应用程序

ios - 一个 View Controller 中的两个表

ios - 具有 2 个独立设计的 UICollectionView

ios - UIActivityIndi​​catorView 在 CollectionView 页脚中消失

iOS:UICollectionView 内容重置和 dequeueReusableCell

ios - Swift UICollectionView header 未正确显示

ios - swift 2 中 Collectionview 多个部分的不同滚动方向

ios - 是否可以在 AKAudioPlayer 上使用 AKAmplitudeTracker 并测量振幅变化?

ios - 将应用程序上传到 iTunes 连接时如何解决 Xcode 验证错误?

ios - Xcode4 - 在头文件中声明一个对象