3

我已经创建了一个类似 iTunes 的 NSScroller 子类,但是如果水平和垂直滚动条在 NSScrollView 或 NSTableView 中都可见,我会在右下角留下一个难看的白色方块。任何人都知道在哪里添加我的自定义绘图以用更漂亮的东西填充它?

4

1 回答 1

3

好的,我想我有解决方案。

  • 要么你告诉滚动视图不要画它的背景,在这种情况下,它下面的任何东西都会填满角落。

  • 或者,这就是我所做的,您使用以下内容覆盖滚动视图的 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
      }
    }
    
于 2010-01-08T09:16:16.970 回答