0

我有一个我画的 s 数组,UIBezierPath还有一个UIImageView全部放在一个UIView. 当我绘制 aUIBezierPath并将其保存到数组中,然后添加 a 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数组, 是UIBezierPaths 的数组。我将 a 插入UIImageView到视图中,然后我想要做的是能够在整体上绘制UIView(包括在 顶部UIImageView)。

4

1 回答 1

1

所有子视图将始终绘制在父视图的“顶部”。贝塞尔路径不是子视图,它们是作为视图的一部分绘制的,因此它们将始终位于子视图的后面。

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

于 2013-08-18T07:57:49.720 回答