2011-08-08 16 views
2

私のプログラムには2つのクラスがあり、そのうちの1つは通常のアプリケーションデリゲートNSObjectです。 2番目はNSWindowControllerサブクラスでNSWindowとWebViewがあり、アプリケーションバンドルからhtmlページが表示されます。ここでWebViewの問題

は、私はAppDelegateからウィンドウを呼び出す方法です。ここで

-(IBAction)showWebViewForm:(id)sender 
{ 
    webViewForm = [[WebViewForm alloc] initWithWindowNibName:@"WebViewForm"]; 
    [webViewForm showWindow:self]; 
} 

は私がWebViewForm : NSWindowControllerでWebページをレンダリングする方法である:

-(void)awakeFromNib{ 
    [NSApp activateIgnoringOtherApps:YES]; 
    [webview setUIDelegate: self]; 
    [webview setResourceLoadDelegate: self]; 
    [webview setPolicyDelegate:self]; 
    [webview setFrameLoadDelegate:self]; 

    [[webview mainFrame] loadRequest: 
    [NSURLRequest requestWithURL: 
     [NSURL fileURLWithPath: 
     [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"data"]]]]; 

} 

それはだけ初めて、正常に動作します。 WebViewFormウィンドウを閉じてもう一度開くと、WebページがWebViewから消えています。どうしてそんなに、それを修正するのですか?

まだ-(void)refreshWebviewのような特別な新しい方法でawakeFromNibコードを埋め込むし、右[webViewForm showWindow:self];[webViewForm refreshWebview]を呼び出してもUPD、 - ?初回のみのためのページが読み込まれ、それは本当に奇妙だ(任意のアイデア

答えて

3

私はそれを把握問題は、親ウィンドウが閉じられたときに閉じたWebビューです。そのような場合の特別な方法があります:

[webview setShouldCloseWithWindow:NO];

関連する問題