0

WebViewから現在のURLとタイトルを取得しようとしています。これをURLに使用しました

- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
{
    // Only report feedback for the main frame.
    if (frame == [sender mainFrame]){
        NSString *url = [[[[frame provisionalDataSource] request] URL] absoluteString];
        [addressBar setStringValue:url];
    }
}

そしてこれはタイトルのために:

- (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame
{
    // Report feedback only for the main frame.
    if (frame == [sender mainFrame]){
        [[sender window] setTitle:title];
    }
}

このコードは、AppleのWebKitObjective-Cプログラミングガイドから直接引用したものです。URLメソッドをtextFieldではなくaddressBarに少し変更しただけです。しかし、それは機能しません。addressBarフィールドにページのURLが入力されることはなく、ウィンドウタイトルはetherを更新しません。InterfaceBuilderではすべてが正しく接続されています。なぜうまくいかないのですか?

4

3 に答える 3

0

残念ながら、私自身は知りません。しかし、私が見つけたのは、RSSフィードを作成するチュートリアルを備えた素晴らしいWebサイトで、RSSからタイトルを取得しています. 下にスクロールすると表示されます。動作するように変更できることを願っています!!

http://www.raywenderlich.com/2636/how-to-make-a-simple-rss-reader-iphone-app-tutorial

于 2012-11-07T22:45:47.747 に答える
0

これで、これが機能します。

  1. オブジェクトframeLoadDelegateの を設定しますWebView。ビジュアル インターフェイスで、要素WebViewから. マウスを放すと、小さな黒いドロップダウン メニューが表示されます。を選択します。これが完了すると、 のようなメッセージがのインスタンスに送信されます。NSWindowWebViewframeLoadDelegatewebView:DidReceiveTitle:forFrameNSWindow
  2. からサブクラスを作成し、オブジェクトをこのサブクラスにNSWindow割り当てますNSWindow。この新しい子オブジェクトは からすべてを継承NSWindowするため、メッセージを受け取りwebView:DidReceiveTitle:forFrameます。
  3. 上記のコードをこの新しい子クラスに貼り付けます。これにより、親クラスのメソッド定義が効果的にオーバーライドされ、何が起こるかを自律的に制御できるようになります。

それが役立つことを願っています。

于 2014-07-03T23:41:09.453 に答える