Как я могу покрасить часть стрелки прозрачного окна NSPopover?

Я хотел бы, чтобы всплывающее окно было прозрачным, за исключением стрелки и самой нижней его части (нижняя часть, конечно, не проблема). У меня пока NSTableView посередине.

Итак, в NSPopover я добавил NSView сверху и раскрасил его:

viewTop.wantsLayer = true
viewTop.layer?.backgroundColor = myBackgroundColor

Но самая верхняя часть по-прежнему прозрачна. Это маленькая штучка на самом верху, похожая на стрелку или около того. Я хотел бы сделать его того же светло-желтого цвета, что и NSView, который я туда положил. Пожалуйста, обратитесь к моим скриншотам:

Иерархия всплывающих окон

Мне нужно раскрасить самую верхнюю мелочь здесь:

Желтое всплывающее окно с серой стрелкой


person DevyV    schedule 21.03.2021    source источник
comment
Боюсь, с предоставленным системой NSPopover это невозможно. Вам либо нужно использовать другую реализацию всплывающего окна, либо вы можете попробовать свои силы в обратном проектировании NSPopover и посмотреть если вы можете использовать некоторые частные API для его стилизации. Это может сработать, но, естественно, поскольку вы полагаетесь на непубличные детали реализации, это может сломаться в любом будущем выпуске.   -  person Alexander    schedule 21.03.2021