Как я создал бы пользовательские полосы прокрутки с какао?
Не изобретай слишком много колеса, если не нужно. Если Вы просто хотите настроить внешний вид полосы прокрутки, может быть проще просто подкласс NSScroller и переопределить различные методы draw
.
Это непроверенный код, но он должен продемонстрировать, что Вам нужно будет сделать, чтобы настроить внешний вид ручки, если у Вас есть своя собственная картинка MyKnob. png
.
@interface MyScroller : NSScroller
{
NSImage *knobImage;
}
@end
@implementation MyScroller
- (void) dealloc
{
[knobImage release];
[super dealloc];
}
- (id) initWithFrame:(NSRect) frame
{
self = [super initWithFrame:frame];
if (!self) return nil;
knobImage = [[NSImage imageNamed:@"MyKnob.png"] retain];
return self;
}
- (void) drawKnob
{
// Work out where exactly to draw the knob
NSPoint p = NSMakePoint(0.0, 0.0);
[knobImage drawAtPoint:p fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
}
@end
Фантастический BWToolkit http://www.brandonwalkin.com/bwtoolkit/ имеет свою собственную реализацию Scroll View с другим видом. Исходные тексты расскажут, как это делается.
Хорошее начало - взглянуть на эту статью Аарона Хиллегасса. link text
Daryl