NSBrowser(10.6SDK / Cocoaアプリ)を使用していて、ブラウザーの列にメッセージを送信して、その列内の最大のセルの幅に一致するように幅のサイズを変更したいと思います。
方法があるはずなのに、概念的にはかなり基本的なようですが、そうではありません。
ここの誰かが前にこれに取り組んでいますか?どのようにそれを解決しましたか?コードサンプル?
//更新drop-supportを追加しました。コードは機能しますが、列の新しい項目が適合しません(楕円があります)。
-(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];
ありがとう