Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios drawrect中的UIView动画_Ios_Ios5_Drawrect_Uiviewanimation - Fatal编程技术网

Ios drawrect中的UIView动画

Ios drawrect中的UIView动画,ios,ios5,drawrect,uiviewanimation,Ios,Ios5,Drawrect,Uiviewanimation,我需要不断地改变我在UIView中绘制的所有线条的颜色。我在drawrect方法中绘制了所有线条来分配颜色。现在,只要显示视图,我就需要设置动画并更改颜色。有办法吗?非常感谢 生活和学习。动画最好在-drawRect: 将“线”更改为作为(最好是不透明的)子视图添加到视图中的单个实例。然后在视图上设置适当的值 然后,您可以使用简单的UIView动画为它们设置动画。现场学习。动画最好在-drawRect: 将“线”更改为作为(最好是不透明的)子视图添加到视图中的单个实例。然后在视图上设置适当的值

我需要不断地改变我在UIView中绘制的所有线条的颜色。我在drawrect方法中绘制了所有线条来分配颜色。现在,只要显示视图,我就需要设置动画并更改颜色。有办法吗?非常感谢

生活和学习。动画最好在
-drawRect:

将“线”更改为作为(最好是不透明的)子视图添加到视图中的单个实例。然后在视图上设置适当的值


然后,您可以使用简单的UIView动画为它们设置动画。

现场学习。动画最好在
-drawRect:

将“线”更改为作为(最好是不透明的)子视图添加到视图中的单个实例。然后在视图上设置适当的值


然后,您可以使用简单的UIView动画来设置它们的动画。

研究为每条线使用一个实例,而不是在
drawRect:
中绘制它们。您可以根据需要为每个层的
路径
strokeColor
属性的更改设置动画

编辑
如果您只是在绘制水平线,那么最好只对每一条线使用
UIView
。设置
backgroundColor
而不是实现
drawRect:
。您可以使用
+[UIView animateWithDuration:animations:://code>(或其更强大的变体)为
frame
属性和
backgroundColor
属性设置动画。这通常比摆弄核心动画要简单。

研究为每一行使用一个的实例,而不是在
drawRect:
中绘制它们。您可以根据需要为每个层的
路径
strokeColor
属性的更改设置动画

编辑
如果您只是在绘制水平线,那么最好只对每一条线使用
UIView
。设置
backgroundColor
而不是实现
drawRect:
。您可以使用
+[UIView animateWithDuration:animations:://code>(或其更强大的变体)为
frame
属性和
backgroundColor
属性设置动画。这通常比摆弄核心动画简单。

谢谢你的建议!:)在你看来,我使用CALayers或UIViews更好吗?是的…我意识到我不能在drawRect中设置动画…只是不知道该怎么做。基本上在动画方面,我需要改变线条的颜色…非常感谢你的帮助,雅各布!谢谢你的建议!:)在你看来,我使用CALayers或UIViews更好吗?是的…我意识到我不能在drawRect中设置动画…只是不知道该怎么做。基本上在动画方面,我需要改变线条的颜色…非常感谢你的帮助,雅各布!一个
CGPath
可以包含多个断开连接的子路径,但我明确建议为每一行使用一个单独的层。希望我们三个可以快速聊天..我应该使用CAShapeLayer还是UIView?如果OP不需要直线以外的任何东西,那么你不需要使用
CAShapeLayer
,我非常确定。是的,因为每一条线都需要改变颜色,我最好使用不同的图层…你会发现性能足够了。如果不是,从
UIView
切换到图层不会有太大的区别,因为您使用的
UIView
功能只是视图底层
CALayer
上的一个非常薄的图层。如果您试图同时为数百行设置动画,则可能需要使用OpenGL ES来获得足够的性能。
CGPath
可以包含多个断开连接的子路径,但是我明确建议每行使用一个单独的图层。希望我们三个可以快速聊天。我应该使用CAShapeLayer还是UIView?如果OP不需要直线以外的任何东西,那么你就不需要使用
CAShapeLayer
,我很确定。是的,因为每行都需要改变颜色,我最好使用不同的层…你应该觉得性能足够。如果不是,从
UIView
切换到图层不会有太大的区别,因为您使用的
UIView
功能只是视图底层
CALayer
上的一个非常薄的图层。如果您试图同时为数百行设置动画,则可能需要使用OpenGL ES来获得足够的性能。