I've a following problem. There is a subclassed NSScrollView with a view based NSTableView in it. I've added a custom background to the scrollview in the -drawRect: method of subclass, and now I would like to add some "padding" around the inner tableview like this:
How can I implement this?
Finally, I've solved the problem. I've created an NSView (let's call it documentContentView), added my NSTableView as a subview of this documentContentView, then I've added the documentContentView to the scrollview's documentView:
NSTableView *docView = (NSTableView *)self.scrollView.documentView; id newClipView = [[CustomClipView alloc] initWithFrame:[self.scrollView.contentView frame]]; [self.scrollView setContentView:(NSClipView *)newClipView]; [newClipView setDrawsBackground:NO]; NSView *documentContentView = [[NSView alloc] initWithFrame:docView.bounds]; docView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; [documentContentView addSubview:docView]; [self.scrollView setDocumentView:documentContentView]; [self.scrollView setDrawsBackground:NO];
I've created my custom NSClipView called CustomClipView (based on this article http://www.cocoadev.com/index.pl?CenteringInsideNSScrollView) and this subclass sets the origin of the documentContentView when the window resized. I've subclassed my tableview as well, and in -reloadData method I can resize the documentContentView when the tableview change it's contents.