Подтвердить что ты не робот

Как сделать NSTableView прозрачным?

Я хочу сделать прозрачный NSTableView.
Здесь я использую класс WindowController.
Я пытался это сделать:

- (void)windowDidLoad
{
     [super windowDidLoad];
     [[self enclosingScrollView] setDrawsBackground: NO];
     [[self enclosingScrollView] setBorderType:NSNoBorder];

}

- (BOOL)isOpaque {

      return NO;
} 
- (void)drawRect:(NSRect)drawRect
{
     [super drawRect: drawRect];
}

Но когда я писал этот код, я не смог найти enclosingScrollView в окне справки.
вы можете увидеть здесь.

enter image description here

Любая помощь?? Пожалуйста, помните меня или исправьте меня, если я что-то делаю неправильно.
Спасибо.

4b9b3361

Ответ 1

Получил ответ..!!! Я просто попробовал это

[tableview setBackgroundColor:[NSColor clearColor]]; 
[tableview setHeaderView:nil]; 

и его рабочий штраф.. - - Snehal

Скопировано из комментария в вопросе, так как его немного похоронили...

Ответ 2

Если у вас есть NSScrollView, охватывающий ваш NSTableView, вы можете установить для свойства прокрутки drawsBackground значение NO следующим образом:

yourScrollView.drawsBackground = НЕТ;

Ответ 3

Если вашему приложению нужно отобразить прозрачный вид таблицы, установите цвет фона в представлении таблицы, чтобы он был ясным, и установите окружение прокрутки, чтобы не рисовать его фон. Следующий фрагмент кода показывает один способ отображения прозрачной таблицы:

Swift:

yourTableView.backgroundColor = NSColor.clear
yourTableView.enclosingScrollView?.drawsBackground = false

Objective-C

[theTableView setBackgroundColor:[NSColor clearColor];
[[theTableView enclosingScrollView] setDrawsBackground:NO];

Apple - изменение визуальных атрибутов таблиц