分层UIImageView和UIBezierPath

时间:2013-08-18 04:43:05

标签: iphone ios ipad uibezierpath

我有一个UIBezierPath的数组,我画了一个UIImageViewUIView全部放在UIBezierPath上。当我绘制UIImageView并将其保存到数组时,然后添加bringSubViewToFront:,然后绘制另一条路径,第二条路径将出现在图像后面。对UIBezierPath有什么- (void)drawRect:(CGRect)rect { for(int a=0; a<_pathArray.count; a++) { [(UIColor )[_colorArray objectAtIndex:a] setStroke]; [(UIBezierPath)[_pathArray objectAtIndex:a] strokeWithBlendMode:kCGBlendModeNormal alpha:1.0]; } } 之类的东西吗?

_colorArray

其中_pathArray是每个路径的颜色数组,UIBezierPathUIImageView的数组。我在视图中插入了UIView,然后我要做的就是能够在整个UIImageView上绘制(包括在{{1}}之上)。< / p>

1 个答案:

答案 0 :(得分:1)

所有子视图将始终显示在超级视图的“顶部”。 Bezier路径不是子视图,它们是作为视图的一部分绘制的,因此它们将始终位于子视图的后面。

您可以将当前添加到图像视图中的图像渲染到当前上下文中(在drawRect期间)。或者您可以在绘制Bezier路径的视图后面添加图像视图(通过将它们添加到同一个超视图中,或者添加一个新的兄弟视图来绘制贝塞尔曲线。