我拉着我的头发试图找出我的意见为什么没有调整与我的NSWindow拖动。为什么我的NSWindow中的NSViews在调整窗口大小时无法调整大小?
好了,这里是我的结构:
- 子类NSWindowController的观点(使用自动版面检查窗口自动调整检查视图窗口视图不挂接在IB任何东西,它应该是。?)
- 各种按钮
- 自定义视图(自动调整大小子视图选中)
- 子类NSViewController的观点(自动调整大小子视图&平移面膜检查)
- 各种子视图(自动调整大小子视图选中)
- 子类NSViewController的观点(自动调整大小子视图&平移面膜选中)
- Various Subviews (Aut Ø调整大小子视图选中)
- 子类NSViewController的观点(自动调整大小子视图&平移面膜检查)
我添加这些视图我NSWindowController的定制视图。这是在我的文件中唯一相关的方法:
-(void)setActiveView:(NSString*) viewString{
if ([currentViewController view] != nil)
[[currentViewController view] removeFromSuperview];
if ([viewString isEqualToString:kFirstView]){
FirstViewController *viewController = [[FirstViewController alloc]initWithNibName:kFirstView bundle:nil];
if (viewController != nil){
currentViewController = viewController;
}
}
else if ([viewString isEqualToString:kSecondView]){
SecondViewController *viewController = [[SecondViewController alloc]initWithNibName:kSecondView bundle:nil];
if (viewController != nil){
currentViewController = viewController;
}
}
//Resize Controller to Window's size.
[[currentViewController view] setFrame:[myWindowView bounds]];
//Embed current view into Custom View in host view.
[myWindowView addSubview:[currentViewController view]];
}
的SETFRAME来调整不工作时,我改变看法,而不是当我拖动来调整我的窗口。据我所知,因为setFrame在我更改视图时起作用,唯一真正重要的(但不起作用)是我的NSWindowController中的自定义视图。
此外,这是我如何把这个窗口前进:
myController = [[MyWindowController alloc]initWithWindowNibName:@"MyWindow"];
[myController showWindow:nil];
是的,我已经尝试过在我的initWithFrame:方法
[myWindowView setAutoresizesSubviews:YES];
[myWindowView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
我缺少什么?
尽量只使用一个控制器的窗口内,把所有其他视图到该控制器视图。我不是很确定,但iphone有一个问题,UIWindow只将UI事件发送给子数组中的第一个控制器。你的情况可能是这样的。 – 2012-04-21 01:46:03