UIWebView的委托方法不工作

问题描述:

**当我使用self.myWeview.delegate = selfUIWebView无法加载在UIWebViewURL ... 但如果我将它设置为​​, 然后方法(代表)不能加载但URL是负载 这是代码:---UIWebView的委托方法不工作

{ 
    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但调用委托方法

+0

错误做工精细:[NSURL URLWithString:@“http://www.google。 COM“];检查它的第二个代码 –

+1

从url中删除额外的http:。 – Girish

+0

你在委托方法中处理什么? – user1113101

去除多余http

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

其实,它错误地把额外的http ,但我没有使用额外的http, ,但它也给出了相同的结果, 我委托方法不工作 – Arjun

你所犯的错误中调用URL ...

试试这个:

NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 

组代表自我,那么你需要实现委托

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

,也不要忘了确认.h文件中的协议,这样

@interface YourViewController : UIViewController<UIWebViewDelegate> 

最后我如果我们不使用这种方法,我得到了我的答案

-(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 

使用此代码在您的viewcontroller.h文件

@interface ViewController : UIViewController<UIWebViewDelegate>