UIWebView不会加载新请求

时间:2012-02-22 16:29:13

标签: objective-c uiwebview reload

似乎无论我做什么,我都无法让我的UIWebView加载新的URL。它接收到加载请求,但我所做的一切似乎实际上都没有做任何事情。

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    urlToVisit = [self.arrayOfURLs objectAtIndex:[indexPath row]];
    [self dismissModalViewControllerAnimated:YES];

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    [WebViewToViewData loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlToVisit]]];
    //[WebViewToViewData stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"location.href='%@''",urlToVisit]];
}

正如您所看到的,我从字符串加载URL(这是出于测试目的,但它不能用于任何事情)并且它接收请求,但不会开始加载。我试过了:

[WebViewToViewData reload];

并且没有做任何事情。我甚至无法让重载功能在任何地方工作。我可能做错了什么?

4 个答案:

答案 0 :(得分:0)

您可能需要检查url字符串是否包含空格或其他转义字符串,并将它们转换为百分比字符串。

答案 1 :(得分:0)

试试这个

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
urlToVisit = [self.arrayOfURLs objectAtIndex:[indexPath row]];

[tableView deselectRowAtIndexPath:indexPath animated:YES];

[WebViewToViewData loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlToVisit]]];
[self dismissModalViewControllerAnimated:YES];

}

如果没有加载,请直接尝试http://www.google.com/这样的简单网址,而不是从Array转换为URL并加载到webView中。

答案 2 :(得分:0)

我需要定义一个加载webview的协议。假设您从具有webview的主视图控制器呈现视图控制器。在第二个视图控制器中,您只有一个表视图。您正尝试从第二个控制器在主视图控制器中的webview上加载URL。如果所有这些假设都成立,则必须使用协议解除。

你也可以试试这个

第二个视图控制器.h文件中的

id delegate;

@property(assign)id delegate;

in .m

@synthesize delegate;


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath


{


urlToVisit = [self.arrayOfURLs objectAtIndex:[indexPath row]];



[tableView deselectRowAtIndexPath:indexPath animated:YES];


[(id)delegate performSelector:@selector(loadHTML:) withObject:[NSURL URLWithString:urlToVisit]];


[self dismissModalViewControllerAnimated:YES];



}

在第一个视图控制器实现中,

-(void)loadHTML:(NSURL *) url{


[WebViewToViewData loadRequest:[NSURLRequest requestWithURL:url]];


}

答案 3 :(得分:0)

我把它设置为模态窗口,我最终做的是将模态窗口更改为不同的动画,以便它将触发viewDidAppear并在其中具有该功能。至于来回发送值,我使用了NSUserDefaults。

这是迄今为止我遇到的最愚蠢的错误。