drawRect에서 그림을 그리는 경우 대답은 아니오입니다. 매 번 경로를 재구성하고 위치를 재조정해야합니다. 다음 행에 따라 수행 할 수있는 작업은 무엇입니까?
- (void) drawRect:(NSRect)dirtyRect
{
// Assuming that _relPos with x and y having values bewteen 0 and 1.
// To keep the square in the middle of the view you would set _relPos to
// CGPointMake(0.5, 0.5).
CGRect bounds = self.bounds;
CGRect rect;
rect.size.width = 100;
rect.size.height = 100;
rect.origin.x = bounds.origin.x + bounds.size.width * _relPos.x - rect.size.width /2;
rect.origin.y = bounds.origin.y + bounds.size.height * _relPos.y - rect.size.height/2;
NSBezierPath *path = [NSBezierPath bezierPathWithRect:rect];
[[NSColor redColor] set];
path.lineWidth = 2;
[path stroke];
}
autolayout을 사용하고 있습니까? –
그 모양을 그리는 중 ... 인터페이스 빌더에 내장되어 있지 않습니다. –
예, 코드로 autolayout을 사용할 수 있습니다! –