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