2012-11-27 2 views
2

createWebviewWithRequest를 호출하여 새 webview 창을 엽니 다. 그리고 그것은 잘 열립니다. 하지만 문제가 있습니다.코코아 - Macview에서 닫고 창을 닫습니다.

이 웹보기 창이 닫히면 내 창 응용 프로그램도 닫힙니다. 다음은 새로운 웹보기 창을

- (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 창이 닫히면 내 창 응용 프로그램이 닫히지 않도록하려면 어떻게해야합니까?

의견이 있으십니까?

답변

0

웹 뷰 UIDelegate의 webViewClose를 처리하여이 문제를 해결했습니다. webViewClose에서 , 나는 창

아래에 내 코드를 참조하십시오 키와 전면되어 있는지 확인 :이 호출하면

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

, 그것은 작동합니다.

0

당신의 NSApplication 위임 (또는 서브 클래스)에이 코드는 적절한 작업을 수행해야합니다

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

는 - 그것은 열려 0 창을 할 수 있습니다. 이미 언급 한 솔루션과 결합 할 수 있지만 올바른 방법을 수행하기 위해이 4 줄을 NSApplication 대리자/하위 클래스에 추가하는 것이 좋습니다.