إنشاء NSView من CGPath
سؤال
لدي CGPath وأريد رسمه مرة واحدة إلى NSView. يبدو بسيطًا نسبيًا لكنني لم أجد طريقة في Appkit (غير iPhone).
المحلول
داخل -drawRect:
, ، انت تستخدم CGContextaddpath لإضافته إلى سياق ، والاستخدام CGContext(Draw|Fill|Stroke)Path
لرسمها. أيك فئة الفرعية nsview ، وتجاوزت
- (void)drawRect:(NSRect)needsDisplayInRect
{
CGContextRef cgcontext = [[NSGraphicsContext currentContext] graphicsPort];
CGContextAddPath(cgcontext,path); // assumes you have CGPathRef*path;
CGContextStrokePath(cgcontext);
}
ثم -drawRect:
سيتم استدعاؤها كلما كان ذلك مناسبا. يمكنك فرض العرض على التحديث عن طريق الاتصال [view displayIfNeeded]
.
لا تنتمي إلى StackOverflow