我正在创建一个自定义NSSlider,在其中要在每个刻度线下方绘制标签。
我目前正在自定义NSSliderCell
-(NSRect)rectOfTickMarkAtIndex
中执行此操作,但是由于NSSlider
的高度是固定的,因此正在裁剪下面绘制的标签。
谁有想法?
同样,具有自定义NSSlider的完整实现的任何资源也将受到赞赏。
最佳答案
只需设置NSSlider
(实际上是NSView
的子类)的框架和界限,使其更高。然后您的绘图应该可以正常工作。将此代码粘贴在awakeFromNib
中:(如果在其子类中,请用slider
替换self
。)
NSRect frameRect = [slider frame];
frameRect.size.height = 30;
[slider setFrame:frameRect];
NSRect boundsRect = [slider bounds];
boundsRect.size.height = 30;
[slider setBounds:boundsRect];
关于objective-c - Mac Custom NSSlider如何在滑块框架外覆盖刻度线图形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6803843/