Я пытался создать особый вид для моего приложения меню.
Я использовал NSWindow
с маской стиля NSBorderlessWindowMask
и настройками [window setOpaque:NO]
и [window setBackgroundColor:[NSColor clearColor]]
. Это дает мне пустой холст, который отлично подходит для строки заголовка.
Теперь у меня проблемы с представлением -на основе NSTableView
, которое я использую для листинга. Как я могу прикрепить NSTableCellView
к закругленным углам окна?
Я начал с того, что имел собственный вид, обертывающий NSTableView
, отрисовывая фон со скругленными углами. Однако использование [view addClip:path]
не отсекает дочерние представления.
Я также пробовал использовать [view setWantsLayer:YES]
с маской. Это отлично работало, но ячейки табличного представления время от времени глючили. Кажется, что наличие NSScrollView
дочернего элемента слоя является известной проблемой :
. Моя текущая структура представления выглядит примерно так:
NSWindow
- MyTitleBarView
- MyBackgroundView
- NSScrollView
- NSTableView