Retângulo arredondado no NSView que recorta todas as subvisões
Estou criando umNSView
subclasse com cantos arredondados. Essa visualização deve ser um contêiner e outras subvisões serão adicionadas a ele. Estou tentando obter os cantos arredondados doNSView
cortar todos os cantos da subvisão também, mas não consigo obtê-lo.
- (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];
}
O vermelho é apenas por exemplo. Se eu adicionar uma subvisão à direita, os cantos não serão cortados:
Como posso conseguir isso?