我有一个UIBezierPath
的数组,我画了一个UIImageView
,UIView
全部放在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
是每个路径的颜色数组,UIBezierPath
是UIImageView
的数组。我在视图中插入了UIView
,然后我要做的就是能够在整个UIImageView
上绘制(包括在{{1}}之上)。< / p>
答案 0 :(得分:1)
所有子视图将始终显示在超级视图的“顶部”。 Bezier路径不是子视图,它们是作为视图的一部分绘制的,因此它们将始终位于子视图的后面。
您可以将当前添加到图像视图中的图像渲染到当前上下文中(在drawRect
期间)。或者您可以在绘制Bezier路径的视图后面添加图像视图(通过将它们添加到同一个超视图中,或者添加一个新的兄弟视图来绘制贝塞尔曲线。