我正在创建一个自定义NSSlider,我想在每个刻度标记下面绘制标签。
我目前在自定义NSSliderCell
-(NSRect)rectOfTickMarkAtIndex
中执行此操作但是因为NSSlider
的高度已修复,我正在绘制的标签正在被裁剪。
有人有什么想法吗? 此外,任何资源都可以完全实现自定义NSSliders。
答案 0 :(得分:3)
只需设置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];