Mac Custom NSSlider, как переопределить отрисовку галочки вне рамки ползунка

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

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


person Tristan Warner-Smith    schedule 23.07.2011    source источник


Ответы (1)


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