Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 清理根据子视图展开窗口的简单方法_Cocoa_Nsview_Nswindow_Master Detail - Fatal编程技术网

Cocoa 清理根据子视图展开窗口的简单方法

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

我正在开发一个应用程序,它使用一个master-detail范例,其中主视图是
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];