我想知道为什么这个动画没有填满整个屏幕。

时间:2017-12-22 02:43:06

标签: ios swift

我想让这个动画将单元格扩展为全屏。我并不完全明白自己做错了什么。它扩展了单元格而不是全屏

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let item = collectionView.cellForItem(at: indexPath) as! CustomViewCell

    let screensize = UIScreen.main.bounds.size
    UIView.animate(withDuration: 1.0,delay: 0,
                   usingSpringWithDamping: 0.5,
                   initialSpringVelocity: 6.0, animations: {() -> Void in
                    item.center.x = self.view.center.x
                    item.center.y = self.view.center.y
                    item.transform = CGAffineTransform(scaleX: screensize.width/item.frame.size.width, y: screensize.height/item.frame.size.height)

1 个答案:

答案 0 :(得分:0)

您的集合视图单元格与view

位于不同的坐标系中

这意味着,当您商品的位置位于view.center时,它可能不会显示在视图的中心。

您需要将view.center从视图的坐标系转换为集合视图的坐标系,或者转换为您单元格的超级视图。

let point = view.convert(view.center, to: collectionView)
item.center.x = point.x
item.center.y = point.y