当NSScroller
用户将鼠标悬停在它上面时,它会自动扩展它的宽度。
但是,文档视图的空间很小,这就是滚动条不应该展开的原因。
如何禁用此行为?
当NSScroller
用户将鼠标悬停在它上面时,它会自动扩展它的宽度。
但是,文档视图的空间很小,这就是滚动条不应该展开的原因。
如何禁用此行为?
这可能有点太晚了,但这样的事情可能会有所帮助?
1)为您的垂直滚动条创建自定义滚动条。
2) Override - drawKnob强制绘制旋钮的默认大小,即使它被绘制为“扩展”。
-(void)drawKnob
{
NSRect knobSlot = [self rectForPart:NSScrollerKnob];
if(sFlags.isHoriz)
{
knobSlot.size.height = 9;
knobSlot.origin.y = 6;
}
else
{
knobSlot.size.width = 9;
knobSlot.origin.x = 6;
}
NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:knobSlot xRadius:5 yRadius:5];
[[NSColor scrollBarColor] set];
[path fill];
}
3)根据您是否仍需要旋钮槽,覆盖 - drawKnobSlotInRect:
-(void)drawKnobSlotInRect:(NSRect)slotRect highlight:(BOOL)flag
{
NSRect newRect = slotRect;
if(sFlags.isHoriz)
newRect.origin.y = 4;
else
newRect.origin.x = 4;
[super drawKnobSlotInRect:newRect highlight:flag];
}