iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 捏手势扩展UICollectionView Cell大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理的应用程序需要的布局与iPad上的Photos应用程序非常相似.有一个UIViews的网格,用户应该可以捏到一个,当他们捏进去的时候,观察视图的大小,直到全屏显示.

到目前为止,我已经设置了一个UICollectionViewController和一个自定义集合视图单元格.我将捏手势识别器@L_618_7@到自定义单元格中.当用户捏入时,单元格的大小会增大.

我现在面临的问题是,当它扩展时,单元格不会叠加在所有其他单元格之上.相反,它隐藏在其后加载的单元格下.

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

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

我目前实现如何缩放单元格的片段代码如下所示.这是在细胞扩展时产生细胞隐藏在后面的细胞中的问题.

@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

    }
}

@L_772_16@

修复其他单元格的一个简单方法就是在集合视图上调用bringSubviewToFront(_ :),传递单元格.

但是,我不确定这是否是最佳的:因为你并不真正拥有单元格/集合视图的层次结构,一般来说你不应该像这样直接触摸子视图.

一个密切相关的可能性 – 不是那么简单,但可能更强大,因而更可取 – 是定制布局.从集合视图的UICollectionViewLayout对象@L_772_21@开始,您可以在捏合手势开始时重新加载单元格并更新该单元格的Z索引.

大佬总结

以上是大佬教程为你收集整理的ios – 捏手势扩展UICollectionView Cell全部内容,希望文章能够帮你解决ios – 捏手势扩展UICollectionView Cell所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。