看了网易音乐里的首页可以调整栏目顺序,觉得很好,直觉告诉我,虽然它像个tableVIEw,可它既然能随心所欲的拖动,就一定是个CollectionVIEw吧,还真是的
iOS 9以上才能用的API
他们分别是开始拖动item,刷新item的位置(拖动中),还有结束以及取消。
// Support for reordering @available(iOS 9.0,*) open func beginInteractiveMovementForItem(at indexPath: IndexPath) -> Bool // returns NO if reordering was prevented from beginning - otherwise YES @available(iOS 9.0,*) open func updateInteractiveMovementTargetposition(_ targetposition: CGPoint) @available(iOS 9.0,*) open func endInteractiveMovement() @available(iOS 9.0,*) open func cancelinteractiveMovement()
前两个方法,会传入一个坐标,跟着这个坐标我们的item就会跟着移动了。然后手指离开界面需要触发
func collectionVIEw(_ collectionVIEw: UICollectionVIEw,moveItemAt sourceIndexPath: IndexPath,to destinationIndexPath: IndexPath) { }
然后我们来重新排序
基本上就可以实现了。用手势长按+这个新的API就好了。
还有就是,拖动的时候,item会有阴影,以及网易云音乐是点了一个按钮移动。这个是需要获取这个按钮的位置范围来调用吧,求大神给个思路
链接在这CollectionView重排
总结以上是内存溢出为你收集整理的Swift CollectionViewCell重排全部内容,希望文章能够帮你解决Swift CollectionViewCell重排所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)