我最近发现了收藏视图,现在我的生活更加简单,但我有一个问题。我(显然)在视图中有一些单元格,但内部的内容可以被挤压。我使用一个在单元格框架外扩展的动画,正如您可以想象的那样,当单元格内部的圆圈变大时,附近的其他单元格会覆盖它。在我使用bringSubviewToFront之前,一切正常。但现在我很困惑,不知道如何“带来CellToFront”。那我该怎么做呢? 谢谢你的建议!
答案 0 :(得分:5)
标准UICollectionViewLayoutAttributes
对象具有zIndex
属性(documentation)。这决定了细胞的前后顺序。
您的布局类应该使用它来确定哪个单元格最前面。您需要对单元格的索引路径进行一些引用,然后可以将其传递给布局对象,以便它知道要应用哪个z索引。您可能必须在触发动画时使布局无效,因此单元格位于最前面。
答案 1 :(得分:0)
除了jrturton
的答案之外,我还将发布代码段以实现您的期望。在您的UIViewCollectionCell
内部,只需覆盖以下方法:
override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) {
layoutAttributes.zIndex = 1 // Or any other number you want. The higher, the front-errr (?) Default is 0
super.apply(layoutAttributes)
}
您可以使用负值将视图发送到背面。