2

我通过调用 createWebviewWithRequest 打开一个新的 webview 窗口。它打开得很好。但我有一个问题。

当这个 webview 窗口关闭时,我的窗口应用程序也关闭了。这是我打开新 webview 窗口的代码

- (WebView*)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request
{
    originRect = appDelegate.window.frame;
    [[webview mainFrame]loadRequest:request];
    return webview;
}

- (void)webViewShow:(WebView *)sender
{
    // set size window app to origin rect
    [appDelegate.window setFrame:originRect display:YES];
}

webview 有一个提交按钮。当用户点击此按钮时,webview 将被关闭。

当 webview 窗口关闭时,如何防止我的窗口应用程序未关闭?

你有什么想法?

4

2 回答 2

0

您的 NSApplication 委托(或子类)中的这段代码应该可以正常工作:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication
{
    return(NO);
}

-它将允许您打开 0 个窗口。您可以将它与您已经提到的解决方案结合起来,但我建议将这 4 行添加到您的 NSApplication 委托/子类中,以便以正确的方式做事。

于 2014-11-04T21:17:41.043 回答
0

我通过处理 webview UIDelegate 的 webViewClose 解决了这个问题。在 webViewClose 中,我将窗口设置为键和前面

请参阅下面的代码:

- (void)webViewClose: (WebView *)wv
{
    [window makeKeyAndOrderFront:wv];
}

当我调用它时,它起作用了。

于 2012-11-28T02:03:28.680 回答