小编P. *_* B.的帖子

捏手势以扩展UICollectionView单元格

我正在使用的应用程序需要的布局与iPad上“照片”应用程序的布局非常相似。有一个UIViews 网格,用户应该可以捏成一个网格,并且在他们捏捏时,观看该视图的大小会不断扩大,直到全屏显示为止。

到目前为止,我已经建立了一个UICollectionViewController和一个自定义集合视图单元。我将捏手势识别器添加到自定义单元格。当用户捏合时,单元的大小会增大。

我现在遇到的问题是,随着单元的扩展,它不在所有其他单元的顶部。相反,它隐藏在加载后的单元格下面。

我当时在想解决方案可能是当集合视图控制器识别出捏手势时,它可能会隐藏被捏的单元格。然后,创建一个新UIView的副本,它是集合视图单元格的副本,其边界等于该单元格的放置位置。然后,该视图可以是可以被捏,旋转和平移的视图。用户结束手势后,视图将立即动画回到原始单元格位置,然后设置为nil

但是,我不确定这是否是最佳解决方案,也许有一些简单的方法可以确保某个单元格位于集合视图中所有其他单元格的顶部。

下面显示了我如何缩放单元的当前实现的一小段代码。这是一个导致其扩展时在后面的单元格下面隐藏单元格的问题。

 @objc func scalePiece(_ gestureRecognizer : UIPinchGestureRecognizer) {
    guard gestureRecognizer.view != nil else { return 

    if gestureRecognizer.state == .began || 
       gestureRecognizer.state == .changed {

        gestureRecognizer.view?.transform = (gestureRecognizer.view?.transform.scaledBy(x: gestureRecognizer.scale, y: gestureRecognizer.scale))!

        gestureRecognizer.scale = 1.0

    }
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch ios uicollectionview

5
推荐指数
1
解决办法
137
查看次数

标签 统计

cocoa-touch ×1

ios ×1

uicollectionview ×1