2010-01-07 52 views

回答

3

好吧,我想我有解决方案(S)。

  • 要么你告诉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 
        } 
    } 
    
+2

稍微整洁的解决方案可能是在这里增加一个子视图支持,而不是不像cornerView ,并覆盖-tile方法来正确定位和显示/隐藏该视图。这样,您可以创建各种整洁的自定义视图,并将它们挂在那里,种植盒子,存根填充物,按钮...... – uliwitness 2010-01-17 14:44:04

+0

这里的第一个解决方案似乎不起作用。如果我告诉滚动视图不要绘制其背景,那么即使窗口背景很暗,角落也会充满白色。 – JWWalker 2013-10-17 20:19:10