Как я могу установить фоновое изображение NSSegmentedControl?

Я хочу установить NSSegmentedControl фоновое изображение, а не значок изображения. Я подкласс NSSegmentedCell и переписать drawSegment: inFrame: withView: функция. Но это плохо работает. Как я могу это сделать?

обновление: я хочу установить половинное темное или светлое фоновое изображение.

1 ответ

Подклассы и переопределение drawSegment: inFrame: withView работает отлично

- (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *)controlView
{
    NSImage* image = [NSImage imageNamed:NSImageNameBonjour];
    [image drawInRect:frame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
    [super drawSegment:segment inFrame:frame withView:controlView];    
}

Что еще ты пробовал?
Правильно ли вы установили класс ячеек для сегментированного элемента управления в Интерфейсном Разработчике?

Другие вопросы по тегам