【发布时间】:2015-08-30 01:45:36
【问题描述】:
我正在使用 Swift 学习 iOS,现在我想创建简单的消息应用程序(非常简单的 WhatsApp 版本)。我浏览了所有集合视图视频教程,但我仍然无法理解如何创建布局,其中单元格将位于屏幕的两侧(两个单元格不能在一行中)。 据我了解,我应该采用流式布局。我像这样覆盖 layoutAttributesForElementsInRect:
override func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]? {
let attributes = super.layoutAttributesForElementsInRect(rect) as! [UICollectionViewLayoutAttributes]
for attribute in attributes {
attribute.frame.origin.x = collectionView!.bounds.width - attribute.frame.width
}
return attributes
}
现在我的单元格相互重叠(例如,我有 50 个单元格,但我只能看到 10 个单元格,深度为 5 个单元格)。
编辑:如您所见,每行有 5 个单元格位于彼此下方,所以我总共有 10 行,而不是 50 行。
我想从右侧查看所有 50 个单元格。
所以有人可以给我任何建议我如何实现这个布局。 感谢您的帮助!
【问题讨论】:
-
从你的描述中很难理解你想看到什么,你看到了什么。您能否用屏幕截图/插图更新您的问题以帮助解释?
-
我看不到您在哪里更改单元格原点的
y值。 -
这是将单元格相互移动的唯一方法吗?集合视图不应该自动将单元格以相等的空格相互放置吗?
标签: ios swift uicollectionview uicollectionviewlayout