NSScrollview和透明,覆盖NSScroller子类

我做了一个光滑的
NSScroller
子类,但无法弄清楚如何使它覆盖在
NSScrollView
之上而不是将
documentView
推到一边。 在这里你可以看到我希望100%宽的
NSCollectionView
的背景,并让卷轴坐在上面。目前,我必须为滚动条设置白色背景,因为使用
clearColor
绘制不显示为透明,而是显示为黑色。 我是以错误的方式来做这件事的吗?我错过了一些明显的东西吗?如何实现位于
NSScrollView
内容上的透明跟踪
NSScroller
的行为?     
已邀请:
我能够通过在NSSCROLLVIEW的子类中实现ѭ7来获得定位
- (void)tile {
    [super tile];
    [[self contentView] setFrame:[self bounds]];
}
事实证明,尝试绘制清晰的颜色是问题的开始。在滚动子类中,我只是完全忽略了与滑块轨道有关的任何绘图。如果超过NSSCROLLER子类,那么就像这样:
- (void)drawRect:(NSRect)dirtyRect
{
    [self drawKnob];
}
    
请注意,要使其正常工作,您必须为scrollView启用图层支持! 也就是说,致电:
[scrollViewInstance setWantsLayer:YES];
或者在Interface Builder中设置它。 如果你不这样做,scrollView的contentView将绘制滚动条的ON TOP。另外:你应该知道你正在做的事情本质上是两个NSView重叠(NSScrolller在NSScrollView之上---都是从NSView继承的。)与iOS上的UIViews不同,OS X上的重叠NSViews不受任何当前版本的正式支持操作系统(10.6下降)。启用CALayers似乎可以使它工作,但它仍然需要牢记。当然,打开图层会严重影响绘图性能。 有关更多详细信息,请参阅此SO问题:是否有正确的方法来处理重叠的NSView兄弟姐妹?     
这个颜色是什么:
[NSColor colorWithCalibratedRed:0.0 green:0.0 blue:0.0 alpha:0.0]
我认为你必须使用界面构建器修改大小。     

要回复问题请先登录注册