iPhone的弹性橡皮筋效果?

时间:2011-09-03 19:14:06

标签: iphone objective-c

我在UIView中有一个UITableView,它有一条橡皮绳的PNG,附在桌面的顶部。它保持在顶部,但当桌子向下滑动时,它不是桌子的一部分,只是视图的一部分。

期望的行为:

  • 当用户拉下桌面视图时,我想以某种方式让这根绳子像橡皮筋一样真实地延伸

  • 当他们放开桌子时,桌子单元以与附着的橡皮筋相同的速度向后延伸。

这不是用于滚动表格视图,而是当你只说2或3个单元格并将其拉下来时,它会拉伸一根绳子,当你松开时,它会重新上升。

这是相同的行为作为默认的表格视图,但是现在只有一根绳子附在顶部。

我不是在寻找任何具体的答案,因为我知道这可能很困难,但如果您知道我应该朝哪个方向努力来实现这一目标,请分享。

1 个答案:

答案 0 :(得分:3)

我提出了两个不同的想法:

使用图像作为过渡和拉伸

我的第一个想法是为每次转换创建一堆图像。当然,不是整个动画,只有5种不同的橡皮筋状态,如下所示:

The grey dots represent the points from it would be stretched

然后通过拉伸图像将每个过渡适合下一个过渡,然后交换到下一个状态,直到到达最后一个。这看起来并不完全真实,但足够令人信服,足以引起用户的注意。

使用CGPathAddEllipseInRect

另一方面,如果拉伸&交换图像不起作用,您可以使用CALayer方法绘制椭圆,类似于CGPathAddEllipseInRectsample code here),并绘制一个闭环。这样做会更加方便,因为它可以完成整个过渡。