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

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

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


person fattjake    schedule 24.04.2013    source источник


Ответы (2)


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

person fattjake    schedule 24.04.2013
comment
Это была одна из самых мистических вещей, которые я пытался решить в Cocoa. Спасибо! - person Micha Mazaheri; 02.12.2014

Mac Mojave, вид слева

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

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

заплатка отображается в левом верхнем углу табличного представления

Решение:

установка свойства углового вида

person Vikram Sinha    schedule 19.09.2018