我正在创建一个自定义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/

10-13 01:08