【发布时间】:2012-02-08 15:43:53
【问题描述】:
我有一个 UITableView,可以像这样将内容加载到 UIWebView 中:
//MainViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:bounds];
UIWebView *htmlView = [ [ UIWebView alloc ] initWithFrame:[scrollView bounds]];
htmlView.frame = CGRectMake(10,10,280,360);
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[htmlView loadRequest:requestObj];
scrollView.contentSize = [htmlView bounds].size;
[scrollView addSubview:htmlView];
[detailsViewController.view addSubview:htmlView];
[htmlView release];
htmlView = nil;
[scrollView release];
scrollView = nil;
[[self navigationController] pushViewController:detailsViewController animated:YES];
[detailsViewController release];
}
提供给 UIWebView 的所有远程内容都来自我编写的 Web 服务。第一个屏幕截图是从标题为“词汇表”的列表视图中选择一个词时显示的内容
这一切都很好,直到您点击链接,在这种情况下单击 UIWebView 内容中的“框架”链接。新内容已加载,但我需要告诉导航栏 UIWebView 已更改,因此我至少可以更改白色标题文本以匹配新内容。我应该实现哪些 UIWebView 方法以及它们应该去哪里?
【问题讨论】:
-
谢谢!我根据您发布的链接实现了该方法。事件发生时会自动调用该方法还是我需要显式调用它?
-
如果您将视图控制器设置为 webview 委托,它会被 webview 自动调用。
标签: ios uiwebview uinavigationcontroller uinavigationbar