NSTableViewHeaderView не рисует поверх NSScroller

У меня есть пользовательский NSTableHeaderView пользовательских объектов NSTableHeaderCell, которые рисуют пользовательский заголовок. У меня проблема в том, что, когда появляются полосы NSScroller, заголовок, нарисованный над скроллером, является по умолчанию, а не моим пользовательским рисунком.

введите описание изображения здесь

2 ответа

Оказывается, представление, управляющее этим разделом (поверх скроллера, с правой стороны заголовка), называется cornerView, а NSTableView имеет метод представления -setCornerView:(NSView *) для его установки. Я исправил свою проблему, создав подкласс NSView и используя пользовательский рисунок, чтобы нарисовать угловое изображение в виде, а затем установив этот подкласс с использованием ранее упомянутого метода.

Mac Mojave Вид слева

Недавно при оказании поддержки одному из моих приложений на Mac Mojave я обнаружил виновника за представлением таблицы в верхнем левом углу. это также может быть удалено, если мы установим угол обзора из xib, как показано ниже.

Эта проблема возникает, если для свойства "Автоматически скрывать скроллер" установлено значение "ДА", а угол обзора не установлен.

патч, показывающий в левом верхнем углу таблицы

Решение:

установка угла просмотра свойства

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