Cocoa 清理根据子视图展开窗口的简单方法
我正在开发一个应用程序,它使用一个master-detail范例,其中主视图是Cocoa 清理根据子视图展开窗口的简单方法,cocoa,nsview,nswindow,master-detail,Cocoa,Nsview,Nswindow,Master Detail,我正在开发一个应用程序,它使用一个master-detail范例,其中主视图是NSTableView,详细视图是NSView。NSView从另一个NSViewController的视图填充;对于每个详图视图,我都有一个单独的NSViewController,它们的视图在XIBs中配置。让主窗口仅在必要时展开(最好使用动画)以适应当前细节视图(类似于系统首选项所做的),最干净的方法是什么?抱歉,如果这是一个基本问题;我对桌面可可相当陌生 计算您需要的窗口大小,以容纳主视图和选定的局部视图。您可以获
NSTableView
,详细视图是NSView
。NSView
从另一个NSViewController的
视图填充;对于每个详图视图,我都有一个单独的NSViewController
,它们的视图在XIBs中配置。让主窗口仅在必要时展开(最好使用动画)以适应当前细节视图(类似于系统首选项所做的),最干净的方法是什么?抱歉,如果这是一个基本问题;我对桌面可可相当陌生 计算您需要的窗口大小,以容纳主视图和选定的局部视图。您可以获取详细视图的大小:
NSSize detailViewFrameSize = [[detailViewController view] frame].size;
调整窗口大小:
[window setFrame:frameRect display:YES animate:YES];
将详图子视图添加到指定位置
[[window contentView] addSubview:detailView];
计算容纳主视图和选定局部视图所需的窗口大小。您可以获取详细视图的大小:
NSSize detailViewFrameSize = [[detailViewController view] frame].size;
调整窗口大小:
[window setFrame:frameRect display:YES animate:YES];
将详图子视图添加到指定位置
[[window contentView] addSubview:detailView];