我有一个包含菜单(表格)的iOS应用程序。从菜单中,用户被发送到两个webView中显示的相关本地html文件。我有兴趣将导航栏的标题设置为html文件的名称。
使用
- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender
{
if ([segue.identifier isEqualToString:@"showWeb"]) {
// NSString *myLabel = rowText ;
ViewController *detailsTVC = [segue destinationViewController];
detailsTVC.label = rowText; //rowText;
}
if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {
SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;
swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {
UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
[navController setViewControllers: @[dvc] animated: NO ];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
};
}
}
当用户在菜单中标记项目时,这非常有效。
然而,问题是我在html文件中有链接,链接到其他本地html文件,当用户按下链接时,标题当然不会改变。
基本问题是,如何捕获/存储变量,其中包含有关显示哪个html的信息?
它不能通过表,因为它不会通过链接捕获重定向。
答案 0 :(得分:0)
我认为这会有所帮助
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
self.navigationController.navigationItem.title = @"Your 0th html title";
if(indexPath.row == 1)
self.navigationController.navigationItem.title = @"Your 1st html title";
[self viewDidLoad];
}
答案 1 :(得分:0)
尝试在viewcontroller中成为UIWebView
的委托
- (void)viewDidLoad {
[super viewDidLoad];
_webview.delegate = self;
}
并实施-(void)webViewDidFinishLoad:(UIWebView *)webView
委托方法,然后您可以通过评估javascript document.title
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *documentTitle = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
[self setTitle:documentTitle];
}