这是一个.swf(原谅,糟糕的网站和swf,这是我能捕捉到正在发生的事情的唯一方式)
http://screencast.com/t/rzJ3b5ihSj
似乎正在发生的事情是,偶尔会先绘制我的分隔符,然后NSView
中的顶部NSSplitView
会覆盖它。但它似乎不一致,因为有时分隔线会占据上风。
以下是我的-drawDividerInRect
方法,已从NSSplitView
-(void) drawDividerInRect:(NSRect)aRect
{
[[NSColor colorWithRed:10.0/255.0 green:10.0/255.0 blue:10.0/255.0 alpha:0.0] set];
NSRectFill(aRect);
id topView = [[self subviews] objectAtIndex:0];
NSRect topViewFrameRect = [topView frame];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSFont fontWithName:@"Helvetica" size:26], NSFontAttributeName,[NSColor whiteColor], NSForegroundColorAttributeName, nil];
NSAttributedString * currentText=[[NSAttributedString alloc] initWithString:@"Tool Properties" attributes: attributes];
NSSize stringSize = [currentText size];
CGFloat xOffset = ([topView frame].size.width - stringSize.width)/2;
NSRect textRect = NSMakeRect(topViewFrameRect.origin.x+xOffset, topViewFrameRect.size.height+50, stringSize.width, stringSize.height);
[currentText drawInRect:textRect];
}
我怎样才能让它成为我的分频器&其中的文字一直在顶部?
答案 0 :(得分:0)
实际上,分隔符和我想要绘制的文本都是在NSSplitView
本身完成的。分隔符两侧的两个视图都是子视图,因此无法在它们前面绘制。我最后做的是在顶视图的底部添加一些填充,以便始终公开分隔文本