【发布时间】:2010-01-07 23:44:48
【问题描述】:
我创建了一个类似 iTunes 的 NSScroller 子类,但是如果水平和垂直滚动条在 NSScrollView 或 NSTableView 中都可见,我会在右下角留下一个难看的白色方块。任何人都知道在哪里添加我的自定义绘图以填充更漂亮的东西?
【问题讨论】:
标签: objective-c cocoa appkit nsscrollview nsscroller
我创建了一个类似 iTunes 的 NSScroller 子类,但是如果水平和垂直滚动条在 NSScrollView 或 NSTableView 中都可见,我会在右下角留下一个难看的白色方块。任何人都知道在哪里添加我的自定义绘图以填充更漂亮的东西?
【问题讨论】:
标签: objective-c cocoa appkit nsscrollview nsscroller
好的,我想我有解决方案。
要么告诉滚动视图不要绘制它的背景,否则它下面的任何东西都会填满角落。
或者,这就是我所做的,您使用以下内容覆盖滚动视图的 drawRect 方法:
- (void)drawRect:(NSRect)rect{
[super drawRect: rect];
if([self hasVerticalScroller] && [self hasHorizontalScroller]){
NSRect vframe = [[self verticalScroller]frame];
NSRect hframe = [[self horizontalScroller]frame];
NSRect corner;
corner.origin.x = NSMaxX(hframe);
corner.origin.y = NSMinY(hframe);
corner.size.width = NSWidth(vframe);
corner.size.height = NSHeight(hframe);
// your custom drawing in the corner rect here
}
}
【讨论】: