Как мне добавить подпредставления в 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.
Я вроде ожидаю этого, но в чем разница между видом заголовка и ячейкой заголовка?
Кроме того, если я хочу, чтобы мой вид кнопок был в каждой ячейке, как я могу добавить его в каждую ячейку?
Благодарю.