Создание пользовательской строки заголовка в стандартном NSWindow

Я пытался создать особый вид для моего приложения меню.

enter image description here

Я использовал NSWindowс маской стиля NSBorderlessWindowMaskи настройками [window setOpaque:NO]и [window setBackgroundColor:[NSColor clearColor]]. Это дает мне пустой холст, который отлично подходит для строки заголовка.

Теперь у меня проблемы с представлением -на основе NSTableView, которое я использую для листинга. Как я могу прикрепить NSTableCellViewк закругленным углам окна?

Я начал с того, что имел собственный вид, обертывающий NSTableView, отрисовывая фон со скругленными углами. Однако использование [view addClip:path]не отсекает дочерние представления.

Я также пробовал использовать [view setWantsLayer:YES]с маской. Это отлично работало, но ячейки табличного представления время от времени глючили. Кажется, что наличие NSScrollViewдочернего элемента слоя является известной проблемой :

http://i.stack.imgur.com/JmhjD.png

. Моя текущая структура представления выглядит примерно так:

NSWindow
- MyTitleBarView
- MyBackgroundView
  - NSScrollView
    - NSTableView
7
задан Joseph North 28 July 2012 в 11:19
поделиться