0

您好,我有一个视图,当按下按钮时会显示这个视图,如果我打开第二个窗口,视图可以正常工作,我可以返回前一个窗口并使用我使用 removeFromSuperview 的视图。

但是,我的问题是,如果我关闭最后一个打开的窗口,则视图不再适用于第一个窗口,但是如果我打开一个新窗口,它会再次适用于第一个窗口。

当其中一个窗口关闭时,如何让视图继续工作?

谢谢你的帮助!

这是我正在使用的代码:

   -(IBAction) ShowView:(id) sender{
        [myView setHidden:FALSE];

        if ([myView isInFullScreenMode]){
            [myView exitFullScreenModeWithOptions:nil];

        }
        else{   
            [myView enterFullScreenMode:[[myView window] screen] withOptions:nil];

            for (NSView *view in [NSArray arrayWithArray:[myView subviews]]){
                [view removeFromSuperview];
                [myView addSubview:view];
            }
        }
    }
4

1 回答 1

0

您尚未指定“视图不起作用”的含义,但我认为它不会在您期望的时候出现。

如果您要显示与不同窗口相关的不同视图(即视图的副本),则每个视图都应与其窗口一起创建和销毁。

如果您只想要一个在不同窗口中显示的视图,您应该在不同的类中创建视图,例如在您的应用程序委托中。这个类应该独立于管理任何窗口的类来管理视图的内容。

于 2012-12-11T09:50:51.133 回答