Закругленный прямоугольник в NSView, который обрезает все содержащие подпредставления

Я создаю подкласс NSView , который имеет закругленные углы. Это представление должно быть контейнером, и к нему будут добавлены другие подпредставления. Я пытаюсь получить закругленные углы NSView , чтобы также обрезать все углы подпредставления, но у меня это не получается.

- (void)drawRect:(NSRect)dirtyRect {
    NSRect rect = [self bounds];
    NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:rect xRadius:self.radius yRadius:self.radius];
    [path addClip];

    [[NSColor redColor] set];
    NSRectFill(dirtyRect);

    [super drawRect:dirtyRect];     
}

Красный только для примера. Если я добавлю подпредставление к прямоугольнику, углы не будут обрезаны: enter image description here

Как я могу этого добиться?

15
задан coneybeare 23 February 2011 в 06:09
поделиться