似乎无论我做什么,我都无法让我的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];
并且没有做任何事情。我甚至无法让重载功能在任何地方工作。我可能做错了什么?
答案 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。
这是迄今为止我遇到的最愚蠢的错误。