0

WebView を含む、現在開いているドキュメント ウィンドウのページ タイトルを WebKit に表示させようとしています。アプリを実行した後、ドキュメントが表示されません。

これを達成するために Document.m と windowNibName を使用していますが、私がやっていることは間違っていると確信しています。私が持つことができない両方の NSStrings である可能性があると思います。私がそれらを持っていない場合、ドキュメントのタイトルを返すことはできません... (WebKit/WebKit.h がインポートされます)

   - (NSString)windowNibName:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame
{
    // Report feedback only for the main frame.
    if (frame == [sender mainFrame]){
        [[sender window] setTitle:title];
    }
    return @"Document";
}
4

1 に答える 1

2

という名前のメソッドを実装しましたwindowNibName:didReceiveTitle:forFrame:が、そのようなメッセージを送信するものはありません (そうでない場合は、そのコードを省略しました)。

正しいメソッド名はwebView:didReceiveTitle:forFrame:. ウィンドウ内に Web ビューが 1 つだけあり、ドキュメント内にウィンドウが 1 つだけあり、ドキュメントが Web ビューのデリゲートであると仮定すると、そこからドキュメントの表示名を簡単に設定できます。

ウィンドウごとに複数の Web ビューやドキュメントごとに複数のウィンドウを使用するなど、より複雑なことが起こっている場合は、その windowを Web ビューに、 window を windowに、 window をwindow コントローラーに要求する必要があります。 document、次にドキュメントの表示名を上記のように設定します。

また、windowNibNameドキュメントのタイトルを Web ページのタイトルに設定することとは関係ありません。ロードする URL がある場合でも、Web ビューはページのロードをまだ開始していない可能性があります。そのため、Web ビューのデリゲートになり、そのデリゲート メッセージに応答する必要があります。

于 2013-02-19T05:39:25.337 に答える