Swift 2 - 将选定的CollectionView Cell放在其他单元格前面

时间:2015-12-03 13:13:54

标签: ios uicollectionview swift2

我的视图控制器中有一个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)
        }

}

2 个答案:

答案 0 :(得分:1)

看来你的事情有点混乱。

来自文档:

  

移动指定的子视图,使其显示在其兄弟姐妹的顶部。

     

func bringSubviewToFront(_ view:UIView)

     

参数

     

view - 要移到前面的子视图。

     

此方法将指定视图移动到子视图属性中的视图数组的末尾。

所以你的电话:
feedCell?.contentView.bringSubviewToFront(feedCollectionView)
实际上意味着单元格contentview应该将feedCollectionView移到前面 现在,这是基于命名的一些有根据的猜测,但它应该看起来像这样:
feedCollectionView.bringSubviewToFront(feedCell?)

您可以将单元格传递到那里,因为它继承自UIView

答案 1 :(得分:0)

将细胞带到前面。您可以在再次添加后删除单元格:`

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