Mac Custom NSSlider, как переопределить рисование галочки вне рамки слайдера - PullRequest
1 голос
/ 24 июля 2011

Я создаю собственный NSSlider, где я хочу рисовать метки под каждой из отметок. В настоящее время я делаю это в пользовательском NSSliderCell -(NSRect)rectOfTickMarkAtIndex, однако, поскольку высота NSSlider фиксирована, метка, под которой я рисую, обрезается.

У кого-нибудь есть идеи? Также приветствуются любые ресурсы с полной реализацией пользовательских NSSliders.

1 Ответ

3 голосов
/ 27 июля 2011

Просто установите рамку и границы 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];
...