2

我拉着我的头发试图找出我的意见为什么没有调整与我的NSWindow拖动。为什么我的NSWindow中的NSViews在调整窗口大小时无法调整大小?

好了,这里是我的结构:

  • 子类NSWindowController的观点(使用自动版面检查窗口自动调整检查视图窗口视图不挂接在IB任何东西,它应该是。?)
    • 各种按钮
    • 自定义视图(自动调整大小子视图选中)
      • 子类NSViewController的观点(自动调整大小子视图&平移面膜检查)
        • 各种子视图(自动调整大小子视图选中)
      • 子类NSViewController的观点(自动调整大小子视图&平移面膜选中)
        • Various Subviews (Aut Ø调整大小子视图选中)

我添加这些视图我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]; 

我缺少什么?

+0

尽量只使用一个控制器的窗口内,把所有其他视图到该控制器视图。我不是很确定,但iphone有一个问题,UIWindow只将UI事件发送给子数组中的第一个控制器。你的情况可能是这样的。 – 2012-04-21 01:46:03

回答

0

试着做这个没有自动布局

试试这个:

  • 取消选中使用自动布局的窗口。

  • 转到尺寸检查自动调整大小你的意见是这样的:

    autosizing

+2

我真的希望这会工作,但不幸的是没有。 :( – arooo 2012-04-22 10:42:37

+0

@incarna嗯..它应该工作,也许你可以创建这个问题的示例项目,并将它发送给我? – 2012-04-22 10:45:19

+0

您的答案实际上让我朝着正确的方向:在为我的每个观点,我实际上只是把它们全部放回自动布局,并且它再次开始工作,我不知道它是否是自动布局本身的问题? – arooo 2012-04-23 09:44:00

相关问题