0

**当我使用时self.myWeview.delegate = selfUIWebView无法加载...但是如果我将其设置为,则方法(委托)无法加载但正在加载这是代码:---URLUIWebViewself.myWeview.delegate = nilURL

{
   self.myWeview.delegate = nil;
   NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [myWebView loadRequest:request];
}

这工作正常,但不能调用委托方法。

另一方面

{
   self.myWeview.delegate = self;
   NSURL *url = [NSURL URLWithString:@"http:http://www.google.com"];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [myWebView loadRequest:request];
}

它无法加载URL但调用委托方法

4

5 回答 5

4

最后我通过大量实验得到了答案,如果我们不使用这种方法

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

除了所有方法在 UIwebViewDelegate 中都可以正常工作

1. -(void)webViewDidFinishLoad:(UIWebView *)webView
2. -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
3. -(void)webViewDidStartLoad:(UIWebView *)webView
于 2013-06-25T10:29:50.573 回答
1

删除多余的http

    {
       self.myWeview.delegate = self;
       NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
       NSURLRequest *request = [NSURLRequest requestWithURL:url];
       [myWebView loadRequest:request];
    }
于 2013-06-25T05:51:49.133 回答
1

您在调用 URL 时犯了错误...

尝试这个 :

NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
于 2013-06-25T05:52:37.583 回答
1

在 viewcontroller.h 文件中使用此代码

@interface ViewController : UIViewController<UIWebViewDelegate>
于 2013-06-25T11:37:32.890 回答
0

将委托设置为 self 然后您需要实现委托

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
   return YES;
}

并且不要忘记像这样在 .h 文件中确认协议

@interface YourViewController : UIViewController<UIWebViewDelegate>
于 2013-06-25T06:19:55.133 回答