如何捕获变量中显示的html

时间:2014-08-12 09:01:09

标签: html ios variables uinavigationbar title

应用

我有一个包含菜单(表格)的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的信息?
它不能通过表,因为它不会通过链接捕获重定向。

2 个答案:

答案 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];
}