-2

.h

IBOutlet UIWebView *webview;

.m

- (void)viewDidLoad {
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blabla.com"]]];
}

- (void)webView:(UIWebView *)webViewfail didFailLoadWithError:(NSError *)error {
    if([webViewfail isEqual:webview]) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Connection Failed"
                                                        message:@"Check your Internet connection before refreshing."
                                                       delegate:self
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    }
}

何が間違っていたのかわかりません。表示させようとしましたが、インターネット接続をオフにしました。ヒントや提案は役に立ちます。

4

3 に答える 3

0

インターフェイスビルダーでデリゲートを接続していることを確認してください(それが使用している場合)。これを行うには、Webビューを選択し、(コントロールを押したまま)View Controller /ファイルの所有者にドラッグしてから、デリゲート(マウスを離すとポップアップする)を選択します。

または、次のように、viewDidLoadメソッドのコードでデリゲートを接続できます。

[webView setDelegate:self]

.hを追加して、ViewControllerがUIWebViewDelegateプロトコルに準拠していることを確認してください

@interface MyViewController : UIViewController <UIWebViewDelegate>

幸運を :)

于 2012-12-12T18:12:49.560 に答える
0

これをチェックして:

  • 引用されたメソッドを含むオブジェクトが実際に Web ビューの であることを確認してくださいdelegate
  • Web ビューの URL リクエストに非常に短いtimeoutInterval.
于 2012-12-12T17:49:56.567 に答える
0

これも試してください:

あなたのViewController.hで

@interface ViewController : UIViewController <UIWebViewDelegate>

[super viewDidLoad] の下の ViewController.m に次を追加します。

self.webView.Delegate = self;
于 2012-12-20T06:49:44.723 に答える