3

NSScroller のサブクラスのような iTunes を作成しましたが、NSScrollView または NSTableView で水平スクローラーと垂直スクローラーの両方が表示されると、右下隅に醜い白い四角が残ります。カスタム描画をどこに追加して、それをよりきれいなもので埋めるかについての手がかりを誰かが持っていますか?

4

1 に答える 1

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
      }
    }
    
于 2010-01-08T09:16:16.970 に答える