1

Web サイトを開いてUIWebViewいますが、デリゲート メソッドが呼び出されず、UIWebView に空白のページが表示されることがあります。しかし、Safari を使用して HTML コードを表示すると、UIWebViewすべてが読み込まれますが、表示されません。誰かが同様の行動に遭遇しましたか?

特別なことは何もしません

NSURL *url = ...
NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.cordovaController.webView loadRequest:request];

- (void) webViewDidFinishLoad:(UIWebView*)theWebView
{
    NSLog(@"LOADING WEBSITE DONE");
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"LOADING WEBSITE DONE WITH ERROR %@", [error description]);
}
4

3 に答える 3

0

UIWebViewデリゲートメソッドを使用してURLを開く

#pragma mark UIWebView Delegates -

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
    {
        if (navigationType == UIWebViewNavigationTypeLinkClicked) {

            [[UIApplication sharedApplication] openURL:[request URL]];
            return NO;  //only open in safari not in UIWebView
        }
        return YES;
    }

私はそれがあなたのために働くことを願っています

于 2013-05-31T09:42:45.193 に答える
0

UIWebView オブジェクトを ViewController の filesOwner ボタン (下部にあるオレンジ色のボタン) に接続 (ctrl ドラッグ) し、'delegate' を選択することを忘れないでください。コードが呼び出されることがわかるはずです。

UIWebView からファイルの所有者に ctrl ドラッグして選択します

これが役立つことを願っています。そうであれば、これを正しい +1 などとしてマークしてください。乾杯ジム。

于 2013-07-29T13:37:24.090 に答える