我尝试在互联网上搜索为 NSSlider 的旋钮绘制不同尺寸的自定义图像的好技巧。
我希望这次我们可以将想法集中在一个地方。
大多数人遇到的问题是他们想要一个不同尺寸的旋钮,有时一个更大的旋钮不起作用,除非你覆盖我所读到的 sizetofit 。
我自己没有解决方案并搜索了相同的东西。
我的问题(也是整个问题)是,我的旋钮图像是 22x30 像素。
我有一个子类 NSSliderCell 其中 drawKnob: 方法是:
- (void)drawKnob:(NSRect)knobRect {
NSImage *image = [NSImage imageNamed:@"sliderImage"];
[[NSColor colorWithPatternImage:image] set];
NSRectFill(knobRect);
}
这是用我的图像填充旧旋钮。然后将 RectFill 更改为:
NSRectFill(NSMakeRect(knobRect.origin.x,knobRect.origin.y,25,35));
25/35 只是为了获得更大的价值。
但是尺寸不会改变宽度(在我的情况下它是一个垂直滑块)并且图像不是从一个真正的角落开始的。它放在旋钮的中间,左侧的一部分被切掉,右侧被加倍。
初始化 NSSlider 时,框架足够大以容纳图像,但不会以探测方式显示。
我尝试了一个 NSSlider 子类,在其中使用了 -(void)sizeToFit {} 但我真的不知道在其中设置什么。
我希望我们可以在这里发布一个带有自定义旋钮图像的 NSSlider 示例代码,每个人都可以使用并且不必在谷歌上搜索 2-3 个小时。
我确定有人用自定义图像做了一个 Slider
谢谢