**当我使用self.myWeview.delegate = self
时,
UIWebView
无法在URL
中加载UIWebView
...
但如果我将它设置为self.myWeview.delegate = nil
,
然后方法(委托)无法加载,但URL
是加载
这是代码:---
{
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 :(得分: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
答案 1 :(得分:1)
删除额外的http
{
self.myWeview.delegate = self;
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:request];
}
答案 2 :(得分:1)
你在调用网址时犯了错误......
试试这个:
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
答案 3 :(得分:1)
在viewcontroller.h文件中使用此代码
@interface ViewController : UIViewController<UIWebViewDelegate>
答案 4 :(得分:0)
将委托设置为self,然后您需要实现委托
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return YES;
}
并且也不要忘记在.h文件中确认这样的协议
@interface YourViewController : UIViewController<UIWebViewDelegate>