子类化NSScroller,如何摆脱右下角的白色方块?

时间:2010-01-07 23:44:48

标签: objective-c cocoa appkit nsscrollview nsscroller

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

1 个答案:

答案 0 :(得分:3)

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

  • 要么告诉滚动视图不要绘制它的背景,那么它下面的任何东西都会填满角落。

  • 或者,就是我所做的,你用以下内容覆盖scrollview的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
      }
    }