我创建了一个 NSScrollView 的子类,它被设置为 IB 中带有表格视图的滚动视图的类。我增加了表格标题视图的高度并添加了一个标签作为表格视图的标题。问题是表格行从列标题下方开始的数量等于我使标题视图更高的数量(因此列标题出现在新的更高标题视图的中间)。
我已经尝试更改表格的原点或大小、表格的剪辑视图、标题视图及其剪辑视图——除了标题视图的大小之外,这些都没有改变。这是我用来制作自定义标题视图的代码:
-(void)awakeFromNib {
//self is a subclass of NSScrollView enclosing an NSTableView
NSClipView *tableClip = [self.subviews objectAtIndex:0];
NSClipView *headerClip = [self.subviews objectAtIndex:3];
NSTableHeaderView *header = [[[self.subviews objectAtIndex:3] subviews]lastObject];
NSTableView *table = [[[self.subviews objectAtIndex:0] subviews]lastObject];
NSLog(@"%@ %@ %@ %@",tableClip,headerClip,header,table);
[header setFrameSize:NSMakeSize(header.frame.size.width, header.frame.size.height+60)];//HeaderView Frame
NSTextField *titleLabel = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 5, header.frame.size.width,22)];
titleLabel.selectable = NO;
titleLabel.font = [NSFont systemFontOfSize:16];
titleLabel.alignment = NSCenterTextAlignment;
titleLabel.bordered = NO;
titleLabel.stringValue = @"This is my title";
[header addSubview:titleLabel];
}