Как мне добавить подпредставления в NSTableHeaderCell?

Я экспериментировал с настройкой NSTableViewи попали на NSTableHeaderView а также NSTableHeaderCell сейчас.

У меня есть простая потребность. каждый NSTableHeaderCell Я хочу привить свой собственный взгляд на. Который просто состоит из двух кнопок.

Вот некоторый код:

у меня есть NSTableHeaderCell категория, которая просто меняет цвет фона с подсветкой и без нее.

- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
    [[NSColor blueColor] setFill];
    NSRectFillUsingOperation(cellFrame, NSCompositeSourceAtop);
}

-(void)highlight:(BOOL)flag withFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
    [[NSColor greenColor] setFill];
    NSRectFillUsingOperation(cellFrame, NSCompositeSourceAtop);
}

Далее у меня есть NSViewController подкласс, названный NSTableHeaderViewController, У этого есть xib, в который я помещаю свои кнопки.

Наконец, в моем основном виде я установил NSTableHeaderView с указанной пользовательской высотой, и добавьте мой вид кнопок к нему.

APTableHeaderViewController *tableHeaderVC = [[APTableHeaderViewController alloc] initWithNibName:@"APTableHeaderViewController" bundle:nil];

NSTableHeaderView *tableHeaderView = [[NSTableHeaderView alloc] initWithFrame:NSMakeRect(0, 0, 120, 88)];

[tableHeaderView addSubview:tableHeaderVC.view];
[self.tableView setHeaderView:tableHeaderView];

Это работает частично, как и ожидалось, создавая мой заголовок таблицы высотой 120 пикселей с синим фоном, зеленым при выделении. Однако это только добавляет мой вид кнопок, NSTableHeaderViewControlelr, один раз в заголовке на 0, 0.

Я вроде ожидаю этого, но в чем разница между видом заголовка и ячейкой заголовка?

Кроме того, если я хочу, чтобы мой вид кнопок был в каждой ячейке, как я могу добавить его в каждую ячейку?

Благодарю.

0 ответов

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