Как я могу изменить NSPopover
цвет фона, включая треугольную часть?
Решение проблемы
На самом деле это намного проще, и вам не понадобится частный API.
Сделайте корневой вид вашего контроллера представления настраиваемым классом
@implementation MyPopoverRootView
-(void)viewDidMoveToWindow
{
NSView * aFrameView = [[self.window contentView] superview];
MyPopoverBackgroundView * aBGView =[[MyPopoverBackgroundView alloc] initWithFrame:aFrameView.bounds];
aBGView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
[aFrameView addSubview:aBGView positioned:NSWindowBelow relativeTo:aFrameView];
[super viewDidMoveToWindow];
}
@end
Ваш фоновый вид просто рисует желаемый цвет в своих границах.
@implementation MyPopoverBackgroundView
-(void)drawRect:(NSRect)dirtyRect
{
[[NSColor whiteColor] set];
NSRectFill(self.bounds);
}
@end
Комментариев нет:
Отправить комментарий