Я использую NSBrowser (приложение 10.6SDK / Cocoa) и хочу отправить сообщение в столбец браузера, который изменит свой размер в соответствии с шириной самой большой ячейки в этом столбце.
Кажется довольно базовым в концепции, хотя для этого должен быть метод, но нет.
Кто-нибудь здесь занимался этим раньше? Как ты это решил? Пример кода?
// Обновление
Я добавил дроп-поддержку. Код работает, но новый элемент в столбце не помещается (имеет эллипс).
-(BOOL) browser:(NSBrowser *)browser acceptDrop:(id <NSDraggingInfo>)info atRow:(NSInteger)row column:(NSInteger)column dropOperation:(NSBrowserDropOperation)dropOperation
{
NSPasteboard* pboard = [info draggingPasteboard];
NSData* rowData = [pboard dataForType:CMCourseDataType];
NSIndexSet* rowIndexes = [NSKeyedUnarchiver unarchiveObjectWithData:rowData];
NSArray *selectedCourses = [[self coursesArrayController] selectedObjects];
Group *selectedGroup = [[self allGroupsArray] objectAtIndex:row];
[selectedGroup addCourses:[NSSet setWithArray:selectedCourses]];
[browser reloadColumn:1];
/ * попробовал новый код ниже, чтобы размер столбца 1 изменился, но они не влияют * /
[browser sizeToFit];
[[browser matrixInColumn:1] sizeToCells];
В awakeFromNib я установил:
[browser setColumnResizingType:NSBrowserUserColumnResizing];
спасибо