Ken*_*and 6 iphone uitableview ipad ios
我有一个UITableView,我想以编程方式将一行从位置N1移动到位置N2,我希望它从旧位置动画到新位置.我查看了UITableView文档,我只看到插入,重新加载和删除.你知道我可以通过编程方式做到这一点吗?
几个笔记:
我知道我可以从位置N1动画删除动画并同时将插入动画设置到位置N2.这是我的后备,但我希望用户明白它真的从N1转移到N2.
我不是在谈论允许用户将它从一个地方拖到另一个地方.我知道如何做到这一点,我正在寻找一种方法来以编程方式启动和动画移动.
小智 4
我过去处理过类似的事情,解决方案并不漂亮,但它确实有效。
基本上你必须做一些数学计算来计算该行在屏幕上的位置。然后根据您的 的y属性进行调整。contentOffsetUITableView
你可以这样做:
[myView convertPoint:localPosition toView:nil];
Run Code Online (Sandbox Code Playgroud)
然后您将构建一个UIView与您的视图相同的新视图。将其框架设置为直接位于UITableViewCell您要移动的物体的顶部。将其添加为应用程序主视图的子视图UIWindow。
当所有这些都进行时,您需要将userInteractionEnabled或设置scrollEnabled为NOon UITableView,这样用户就不会在整个过程中弄乱事物的位置(只需记住将其设置回YES所有动画完成时即可)。
然后将其动画到新的位置,然而这是最有意义的。
我知道您可能必须UITableView在所有这些过程中滚动,这使事情变得相当复杂,但您也可以为滚动设置动画。
当然,如果您的应用程序中有必要,您必须对要设置动画的行执行类似的操作。
就像我说的,这并不容易或漂亮。但我确实理解你想要实现的目标,并且我认为当它正确实现时,效果是超级棒的。
如果有人对如何在不发疯的情况下实现这一目标有更好的想法,我很想知道,但这种类型的实现是我能做的最好的。
| 归档时间: |
|
| 查看次数: |
6381 次 |
| 最近记录: |