gpt4 book ai didi

cocoa - 调整 NSBrowser 列的大小以适合内容的宽度

转载 作者:行者123 更新时间:2023-12-03 17:26:11 26 4
gpt4 key购买 nike

我正在使用 NSBrowser(10.6SDK/Cocoa 应用程序),我想向浏览器列发送一条消息,使其调整其宽度以匹配该列中最大单元格的宽度。

在概念上似乎非常基本,即使应该有一个方法,但没有。

这里有人解决过这个问题吗?你是怎么解决的?代码示例?

//更新我添加了 drop 支持。该代码有效,但列中的新项目不适合(有椭圆)。

-(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];

谢谢

最佳答案

试试这个:

NSBrowser *browser; //Browser containing columns
NSInteger index; //Index of column to resize
[[browser matrixInColumn:index] sizeToCells];

或者,如果您想调整整个浏览器的大小,您可以尝试:

[browser sizeToFit];

关于cocoa - 调整 NSBrowser 列的大小以适合内容的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com