如何使用iPhone中的UIView动画为带右帽的水平条设置动画

时间:2013-05-29 02:48:30

标签: animation uiview

我通过调用UIView动画得到了wiered但不令人惊讶的动画,我不知道它是否通过使用CALayer动画起作用。我想是的。

请看这张照片:我想要的是为横向生长的横条设置动画,我的工作是:

子类UIView,名为UIViewBar,在其drawRect:rect方法中,我绘制矩形和右上角的形状,它由

完成
CGContextMoveToPoint A
CGcontextAddLineToPoint B
CGContextAddArcToPoint D
CGContextAddLineToPoint C
//then close the path and fill the context

然后我在我的UIViewController中调用这个UIViewBar(initWithFrame:rect),形状就是我想要的,看起来很好。 但是当我执行[UIView动画]说从原来的 rect rectGrew 时,它表现不佳。相反,它表现如图所示。

嗯,经过思考,这并非完全不合理,因为当UIView水平伸展自己时,它不知道帽子不会被改变。那还有另一种方法吗?

enter image description here

实际上,我对绘画,图形和动画都很陌生。我所知道的是(如果错误,请帮助纠正我):

  1. 如果我想“画一些东西”,我应该覆盖UIView的drawRect方法,这是通过启动UIView完成的,不应该或最好不要在外面调用。假设我通过CGContextFillRect .....在
  2. 但是如果我想为这个矩形设置动画呢?我不能制作基于Quartz2D的动画,但是来自UIView动画或CALayer(更深层次的技术),所以我要做的是将矩形本身单独作为一个单独的UIViewRect,所以我可以调用[UIViewRect动画]方法,上午我对此
  3. 如果是这样,我必须让我想要动画的每个矩形分别成为UIView。它不会影响性能吗?或者它只是苹果喜欢的方式?
  4. 任何建议都会有所帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

哇,这是第一次没有发布任何答案!回答我的问题:它需要考虑动画CALayer的自定义属性。自定义属性是AB宽度(没有宽度的宽度,应该工作)。如果有人想要详细的代码。请在CALayer中google自定义属性动画。