Элемент NSTabView, добавляющий значок в TabViewItem

Я создал подкласс NSTabView и добавил 5 TabViewItem, теперь я хотел добавить значок вместе с заголовком в NSTabViewItem. Может ли кто-нибудь предложить мне, как начать, я не получаю никакой документации, кроме

- (void)drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect

Означает ли это, что если я переопределю этот метод, мне нужно нарисовать значок и начертить свою собственную строку,

Для настройки заголовка я использую следующий метод:

[pTabViewItem setLabel:pLabelTitle];

С уважением
Рохан


person Amitg2k12    schedule 28.03.2011    source источник


Ответы (1)


Never Mind, Follow Code работает для меня,

- (void)drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect{

    // do we have an image to draw
    NSImage *pImage = [pDelegate imageForCell];

    [[NSGraphicsContext currentContext] saveGraphicsState];
    NSAffineTransform* xform = [NSAffineTransform transform];
    [xform translateXBy:0.0 yBy: tabRect.size.height];
    [xform scaleXBy:1.0 yBy:-1.0];
    [xform concat]; 


    CGFloat x_Offset =0;
    if(pImage){
        [pImage drawInRect:NSMakeRect(tabRect.origin.x-8,-6,16, 16)fromRect:NSZeroRect
                 operation:NSCompositeSourceOver
                  fraction:1.0];
        x_Offset =  16;
    }
     [[NSGraphicsContext currentContext] restoreGraphicsState];

    [super drawLabel:shouldTruncateLabel inRect:tabRect];
}

Почему трансформация:
Изображение показывалось перевернутым, поэтому мне нужно трансформировать,

Почему смещение: даже после преобразования мне нужно настроить положение так, чтобы оно выглядело прямо перед заголовком,

и, ребята, я пока устанавливаю заголовок,

добавьте пробел, чтобы заголовок не перекрывал изображение, я знаю, что это уродливый подход, но не могу найти другого быстрого способа сделать это, если я нарисую текст сам, мне нужно также позаботиться об усечении,

Спасибо тем, кто просмотрел вопросы и ответил
С уважением
Рохан

person Amitg2k12    schedule 28.03.2011