我正在使用MWFeedParser
,我想点击一个单元格来打开一个webview而不是另一个UITableViewController
。这就是在didSelect中发生的......
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Show detail
DetailTableViewController *detail = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
detail.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detail animated:YES];
// Deselect
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
我认为我的第一个障碍是从每个RSS帖子获取URL,以便webview知道要显示的内容。这是如何完成的,如何更改上述方法以打开webview?
已更改为
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
webViewController *webView = [[webViewController alloc] initWithURL:@"http://www.google.com"];
webView.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
[self.navigationController pushViewController:webView animated:YES];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
但是initWithURL给了我一个错误。
答案 0 :(得分:0)
O.k
DetailTableViewController *detail = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
正如我所说,可以是你想要的任何东西,但 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
初始化此viewController并将url作为参数传递给viewController。viewDidAppear
中打开webView中的网址。祝你好运
答案 1 :(得分:0)
检查webViewController
的基类,我怀疑它不包含方法initWithURL
。 (顺便说一句,webViewController
,如果它是一个类,则不遵循推荐的命名约定 - 类名称应以大写字母开头,变量/实例方法以小写字母开头 - 请查看Apple的指南{{3 }})
此外,@"http://www.google.com"
不是网址 - 它是一个字符串。要创建URL对象,您需要执行以下操作:
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
然后使用url
对象传递给initWithURL
希望这可以帮助您解决initWithURL
问题。
要在点击单元格时打开网页视图,请在UIWebView
内设置didSelectRowAtIndex
,然后将包含UIWebView
的控制器推到导航控制器上。