Swift 2 -将选定的CollectionView单元格置于其他单元格之前

64jmpszr  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(162)

我的视图控制器中有一个UICollectionView。它已经设置好了,工作正常。
我试图缩放单元格时,单元格内部的按钮已被按下。
我的代码缩放单元格,但是,我找不到方法来强制选定的单元格到其他单元格的前面。现在,选定的单元格总是在选定的单元格前面的单元格后面。
如何强制选定的单元格在其他单元格之前缩放?

@IBAction func detailBtnAction(sender:UIButton){

        let indexUser = (sender.layer.valueForKey("indexBtn")) as! Int
        let indexPath = NSIndexPath(forItem: indexUser, inSection: 0)
        let feedCell = feedCollectionView.cellForItemAtIndexPath(indexPath)
            feedCell?.bringSubviewToFront(feedCollectionView)

        feedCell?.contentView.bringSubviewToFront(feedCollectionView)

        UIView.animateWithDuration(1.0) { () -> Void in
            feedCell?.transform = CGAffineTransformMakeScale(5, 5)
        }

}
5fjcxozz

5fjcxozz1#

看来你把事情的顺序搞混了。
从文档中:
移动指定的子视图,使其显示在同级视图的顶部。
函数将子视图前置(_ view:用户界面视图)
参数
view -要移到前面的子视图。
此方法将指定的视图移动到subviews属性中的视图数组的末尾。
所以你的电话:
feedCell?.contentView.bringSubviewToFront(feedCollectionView)
实际上意味着单元格contentview应该将feedCollectionView移到前面。
现在,这是一些基于命名的有根据的猜测,但它应该看起来像这样:
feedCollectionView.bringSubviewToFront(feedCell?)
您可以在那里传递储存格本身,因为它继承自UIView

z4bn682m

z4bn682m2#

将单元格置于最前面.您可以删除单元格后再重新添加:mCollectionView.reloadData() mCollectionView.performBatchUpdates(nil, completion: { (result) in var indexPath = IndexPath(row: 0, section: 0) var cell = mCollectionView.cellForItem(at: indexPath) cell.removeFromSuperview() mCollectionView.addSubview(cell)})`

相关问题