Отображать значок и текст в одной ячейке NSTableView - PullRequest
1 голос
/ 02 августа 2010

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

Примером того, чего я хочу добиться, является список приложений в Системных настройках -> Учетные записи пользователей -> Элементы входа.

Какой хороший способ?

1 Ответ

0 голосов
/ 02 августа 2010

Вот хороший пример того, как это сделать: http://www.cocoadev.com/index.pl?IconAndTextInTableCell Вы создаете свой собственный NSCell, который рисует изображение и текст

@interface IconCell : NSCell 
{
NSArray * cellValue;
}
- (void)setObjectValue:(id <NSCopying>)object;
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;

@implementation IconCell

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
NSDictionary * textAttributes =
    [NSDictionary dictionaryWithObjectsAndKeys:[NSFont 
userFontOfSize:10.0],NSFontAttributeName, nil];
NSPoint cellPoint = cellFrame.origin;

[controlView lockFocus];

[[cellValue objectAtIndex:1] compositeToPoint:NSMakePoint(cellPoint.x+2,
cellPoint.y+14) operation:NSCompositeSourceOver];
[[cellValue objectAtIndex:0] drawAtPoint:NSMakePoint(cellPoint.x+18,
cellPoint.y) withAttributes:textAttributes];

[controlView unlockFocus];
}

- (void)setObjectValue:(id <NSCopying>)object
{
   cellValue = (NSArray *)object;
}
@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...