如何设置剪切矩形或区域

如何设置,修改和清除iOS drawRect中的裁剪矩形,以将线条,文本,图像等的通用CG绘图裁剪为一小部分视图?

是否有可能使用更复杂的剪辑区域,这是一个矩形和圆圈的组合复合?

您可以使用任意path设置裁剪区域,而不限于矩形。 以下是一些做法:

  1. 你可以绘制一个任意的path,并设置一个剪辑区域。 例如:

    CGContextBeginPath(context); //draw a path here CGContextClosePath(context); CGContextClip(context); //following drawing on the context will be clipped 
  2. 如果要使用蒙版图像设置剪辑区域,请使用CGContextClipToMask方法。

请参阅Apple的“QuartzDemo”示例项目以获取更多用途。

如果你只是想剪辑,你可以使用:

 CGContextClipToRect(context, clipRect);