繁体   English   中英

如何将UICollectionViewCell带到前面?

[英]How to bring a UICollectionViewCell to front?

我最近发现了收藏视图,现在我的生活更加简单,但我有一个问题。 我(显然)在视图中有一些单元格,但内部的内容可以被挤压。 我使用一个在单元格框架外扩展的动画,正如您可以想象的那样,当单元格内部的圆圈变大时,附近的其他单元格会覆盖它。 在我使用bringSubviewToFront之前,一切正常。 但现在我很困惑,不知道如何“带来CellToFront”。 那我该怎么做呢? 谢谢你的建议!

标准UICollectionViewLayoutAttributes对象具有zIndex属性( 文档 )。 这决定了细胞的前后顺序。

您的布局类应该使用它来确定哪个单元格最前面。 您需要对单元格的索引路径进行一些引用,然后可以将其传递给布局对象,以便它知道要应用哪个z索引。 您可能必须在触发动画时使布局无效,因此单元格位于最前面。

除了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)
}

您可以使用负值将视图发送到后面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM