将URL推送到应用内iPhone网络浏览器时出现问题

时间:2010-07-17 10:19:43

标签: iphone uitableview uiwebview

我有一个RSS解析器,它从RSS源下载每个项目的链接。如何使用当用户在UITable中选择一行时,它会打开我的Web视图(按照本教程http://dblog.com.au/iphone-development/iphone-sdk-tutorial-build-your-very-own-web-browser/制作),其中包含项目的URL(可以通过news.link收集)< / p>

感谢。

DidSelectRow代码:

webView = [incidents objectAtIndex:indexPath.row];
    NSURLRequest *request = [NSURLRequest requestWithURL: news.link];
    [webView loadRequest:request];
    [self.navigationController pushViewController:webView animated:YES];
    [tableView deselectRowAtIndexPath:indexPath animated:YES]
    [webView release];

2 个答案:

答案 0 :(得分:0)

您需要在控制tableView:didSelectRowAtIndexPath:

的视图控制器中实施UITableView
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSURL* url = ... determine the URL to show ... ;

    ... load url in your Web view ... ;

    [tableView deselectRowAtIndexPath:indexPath animated:YES]; // Conform to Apple human-interface guidelines (Table View Programming Guide for iPhone OS)
}

答案 1 :(得分:0)

代码示例中的webView是什么?
它是哪一类? UIViewController或UIWebView?

有一行您将其用作视图控制器,并且有一行您尝试将其用作Web视图。

我敢打赌它是一个视图控制器,因为你写道你在loadRequest行上有一个警告......

无论如何,具有Web视图的视图控制器应该有一些方法可以接收URL请求并将其加载到Web视图中:

// In webViewController.h:
- (void)loadWebViewWithRequest:(NSURLRequest *)request;

// In webViewController.m:
- (void)loadWebViewWithRequest:(NSURLRequest *)request {
    [webView loadRequest:request];
}

这是您必须在didSelectRow方法中使用的方法,而不是loadRequest ...