Я новичок в Cocoa. Я успешно создал TableView с двумя colomns, содержащими текст, используя NSArrayController и привязку. Теперь я хочу добиться того же самого для пользовательского TableView. Мой TableView содержит два colomns, один должен содержать изображение, а другой должен содержать описание изображения. Я хочу заполнить таблицу, используя привязку. Может ли кто-нибудь сказать мне, как это сделать.Как создать NSTableview с пользовательской ячейкой, используя привязку
1
A
ответ
0
Выполните следующие действия:
В XIb/NIB файлов:
- Берут NSArrayController.
- Возьмите NSTableView и возьмите две колонки.
- В первом столбце перетащите NSImageCell и второй по умолчанию будет NSTextCell.
- В настоящее время привязка:
- Первый массивный контроллер вашего NSObject или FileOwners.
- Ваш mutablearray для arraycontroller.
- Столбец первого столбца для контроллера массива, внутри которого должен быть установлен ключ контроллера. Объекты и путь к модели должны быть img.
- Столбец второго столбца для контроллера массива, внутри которого должен быть установлен ключ контроллера. Объекты и путь к модели должны быть desc.
(Примечание: В то время как привязка к столбцам таблицы, пожалуйста, проверьте один вариант Подтверждает Немедленно, если вы используете> 10,6 OS версии)
В заголовочном файле:
NSString *img;
NSString *desc;
NSMutableArray *arr;
IBOutlet NSArrayController *arrCont;
@property (readwrite,retain) NSString *img;
@property (readwrite,retain) NSString *desc;
@property (readwrite,retain) NSMutableArray *arr;
В реализации файл:
self.arr = [[NSMutableArray alloc] init];
NSString *imageName = [[NSBundle mainBundle] pathForResource:@"yourImageName" ofType:@"tiff"];
NSImage *photoImage = [[NSImage alloc] initWithContentsOfFile:imageName];
NSMutableDictionary *dc = [NSMutableDictionary dictionary];
[dc setObject:photoImage forKey:@"img"];
[dc setObject:@"noImage" forKey:@"desc"];
[arr addObject:dc];
[self setArr:arr];