2012-08-06 117 views
1

我有一个UIView,我画了一个CGPath并且想绘制一个覆盖到整个视图本身上的一个z层,它位于呈现的CGPath之上。在UIView上绘制覆盖图

这是如何完成的?我应该使用图层吗?我想重复绘制或填充部分视图,所以我不确定使用某种填充方法会更好。除了绘制新路径之外,是否有更有效的方式来填充视图的某些部分?

我想创建类似于进度条的效果,根据值在运行时扩展覆盖宽度。

回答

2

您可以为此使用子视图(或类似的子图层)。视图的子视图将显示在drawRect:中呈现的内容上方。

如果你能逃脱使用UIImage背景(比方说,一个与resizableImageWithCapInsets:创建),并简单地改变这一观点随着时间的大小,它可能会比drawRect:重绘更有效率。

+0

我已经使用drawRect绘制了视图,并且希望它覆盖ontop。 – jarryd 2012-08-06 14:58:57

+0

正确;我在说你应该为你的覆盖层使用子视图,并简单地调整该子视图的大小来改变覆盖层的大小。当你说你想“重复绘制或填充部分视图”时,我不确定你在说什么视图;你能澄清一下你想绘制/改变的时间吗? – 2012-08-06 15:00:52

+0

没有必要,延伸它的y积极将是完美的,我可以设置子视图的背景。谢谢! :) – jarryd 2012-08-06 15:05:14