Создание подклассов NSTableHeaderCell / NSTableHeaderView для создания прозрачного заголовка

Дай мне, если бы об этом спрашивали раньше, но я не могу найти ответа на вопрос, который бы дал мне желаемое поведение, которого я хотел бы достичь.

В основном у меня есть поведение, которого я ищу, стиль и цвет шрифта, высота заголовка и т. Д. Но я не могу сделать заголовок прозрачным. Я пытался сделать это путем создания подклассов NSTableHeaderCell и переопределить - (void)drawWithFrame:(NSRect)cellFrame highlighted:(BOOL)isHighlighted inView:(NSView *)view;

[[NSColor colorWithDeviceWhite:1.0 alpha:0.75] set];
NSRectFillUsingOperation(fillRect, NSCompositeSourceOver);

Взгляд, которого я пытаюсь достичь, находится на этом скриншоте. Это был мой первый вопрос, я должен был разместить изображение, потому что у меня недостаточно очков, чтобы включить изображение в мой вопрос.

Если бы кто-то мог объяснить мне немного больше, как достигнуть этого стиля заголовка, или указать мне на правильную документацию, которая была бы благодарна.

2 ответа

Используйте следующие работы:

Objective-C:

[[NSColor colorWithDeviceWhite:1.0 alpha:0.75] set];
NSRectFill(fillRect);

Или в Свифте:

NSColor(deviceWhite: 1.0, alpha: 0.65).setFill()
NSRectFill(fillRect)

Это не заголовок, а плавающая групповая строка. Обратите внимание на положение полосы прокрутки: она находится рядом с "заголовком", а не ниже.

Ищите пример проекта TableViewPlayground, в частности, пример "Сложное табличное представление". Вы можете создать одну строку плавающей группы в своей таблице и сделать так, чтобы она выглядела и действовала как представление заголовка (то есть показывает свой собственный индикатор сортировки и принимает щелчки для переключения сортировки).

Другие вопросы по тегам