0
NSView
에 간단한 모양을 그리는 것과 관련하여 일반적인 질문이 있습니다. NSRect
클래스
struct (drawrect
) 대 CoreGraphics
프레임 워크를 사용할 때 "규칙"이 있습니까? 지금까지 내가 osx 응용 프로그램에 사용할 수있는 것으로 이해했습니다. 그럴 수있어?NSRect 대 CoreGraphics
NSView
에 간단한 모양을 그리는 것과 관련하여 일반적인 질문이 있습니다. NSRect
클래스
struct (drawrect
) 대 CoreGraphics
프레임 워크를 사용할 때 "규칙"이 있습니까? 지금까지 내가 osx 응용 프로그램에 사용할 수있는 것으로 이해했습니다. 그럴 수있어?NSRect 대 CoreGraphics
우선, 아니 NSRect
클래스 (이 구조체의), 당신은 NSView
방법 drawRect:
를 참조하고이 없다. 일반적으로 Core Graphics 프레임 워크는 AppKit 드로잉 메서드보다 "하위 수준"이며 Core Graphics 주변의 "래퍼"입니다. Objective-C가 아닌 일반 C이기 때문에 AppKit은 일반적으로 사용하기가 더 쉽지만 두 항목을 자유롭게 조합하여 사용할 수 있습니다. 예를 들어
:
- (void)drawRect:(NSRect)rect
{
//This uses AppKit:
[[NSColor redColor] set];
[[NSBezierPath bezierPathWithOvalInRect:[self bounds]] fill];
//This does the same, using Core Graphics:
CGContextRef ctx = [[NSGraphicsContext currentContext] graphicsPort];
CGContextSetRGBFillColor(ctx, 1.0, 0.0, 0.0, 1.0);
CGContextFillEllipseInRect(ctx, NSRectToCGRect([self bounds]));
}
안녕하세요 OMZ는 대답 주셔서 감사합니다. 이 두 가지 방법 중 하나에서 품질에 단점이 없다고 가정합니다. 맞습니까? – JFS
아니요, 두건 아래에서, 그들은 거의 똑같은 일을합니다. – omz