UIWebView的委托方法不工作
问题描述:
**当我使用self.myWeview.delegate = self
, UIWebView
无法加载在UIWebView
URL
... 但如果我将它设置为, 然后方法(代表)不能加载但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
但调用委托方法
答
去除多余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>
错误做工精细:[NSURL URLWithString:@“http://www.google。 COM“];检查它的第二个代码 –
从url中删除额外的http:。 – Girish
你在委托方法中处理什么? – user1113101