1
-(bool) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
        NSURL *url = request.URL;
        BrowserLinker *linker= [[BrowserLinker alloc]initWithNibName:@"BLinker" bundle:nil];
        [self.navigationController pushViewController:linker  animated:YES];
        return NO;
    }
    else {
        return YES;
    }
}

BrowserLinker クラスで宣言された UIWebView があり、そのメソッドも宣言されています。UIWebView でリンクをクリックすると、新しい ViewController で開く必要があります。誰かがコードの何が問題なのか教えてもらえますか? ところで、コードはSOの回答から適応されています。

エラー: WebKit は webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener: でキャッチされていない例外を破棄しました: デリゲート: バンドル内の NIB をロードできませんでした: 'BLinker' という名前の 'NSBundle (loaded)'

4

1 に答える 1

0

通常、Nib ファイル名は、付随するビュー コントローラ ファイル名と同じベース名を共有します。ここでは、View Controller が呼び出されBrowserLinker、nib が と呼ばれBLinkerます。あなたのペン先は呼ばれていませんBrowserLinkerか?

于 2012-08-19T21:11:44.387 に答える