コア グラフィックを使用して、長方形から円形を削除しようとしています。丸穴(舷窓みたいな)から見えるように
私は広範囲に検索し、ここで提供されている回答を利用しようとしましたCore Graphics, how to draw a Rectangle with an ellipse transparent hole? しかし、私はそれを機能させることができません。私がやっていることは、長方形の上に円を描くことだけです。これが私が最終的に得たコードです。助けてくれてありがとう
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
// Set color to red
CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);
// Add rectange
CGContextAddRect(context, rect);
// Fill rectange
CGContextFillRect(context, rect);
// Create a elipse to be removed from rectange
CGMutablePathRef cutoutRect = CGPathCreateMutable();
CGPathAddRect(cutoutRect, NULL, rect);
CGPathAddEllipseInRect(cutoutRect, NULL, CGRectMake(self.bounds.size.width / 4, self.bounds.size.height / 4, self.bounds.size.width / 2, self.bounds.size.width / 2));
CGContextAddPath(context, cutoutRect);
CGContextSetRGBFillColor(context, 1.0, 1.0, 0.0, 1.0);
CGContextEOFillPath(context);
//Remove the elipse
CGContextEOClip(context);
}