2012-11-27 52 views
2

我通過調用createWebviewWithRequest打開一個新的webview窗口。它開放得很好。 但我有一個問題。可可 - webview關閉和Mac os上的窗口關閉

當這個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]; 
} 

web視圖有一個提交按鈕。當用戶點擊這個按鈕時,webview將被關閉。

如何防止我的窗口應用程序在webview窗口關閉時未關閉?

你有什麼想法嗎?

回答

0

我通過在webview UIDelegate的webViewClose中處理解決了這個問題。 在webViewClose,我使窗口是關鍵,前

見我的代碼如下:

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

當我打電話這一點,它的工作原理。

0

這段代碼在你的NSApplication委託(或子類)應該做一個適當的工作:

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

- 它可以讓你有0窗戶打開。 您可以將它與您已經提到的解決方案相結合,但我建議將這4行添加到您的NSApplication委託/子類中,以便以正確的方式執行操作。