2014-02-21 22 views
0

我在UIViewController的容器中创建了一个UITableViewController单击某行时查看不会更改 - xcode ios

一切正常,直到我点击一个单元格为了查看用户的信息。

当我点击行应该去一个包含标签的视图,但它没有这样做(它停留在表的页面上)。

我知道它调用下面的函数,因为我把NSLog放在那里,当我点击一行时,它会显示出来。

有人可以帮我吗?谢谢!

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
    UINavigationController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"TabNav"]; 
tabController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
[self.navigationController pushViewController:tabController animated:YES]; 

}

回答

0

我发现了这个问题!由于一些奇怪的原因,我不得不改变这些行:

UINavigationController * tabController = [self.storyboard instantiateViewControllerWithIdentifier:@“TabNav”]; tabController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self.navigationController pushViewController:tabController animated:YES];

为了这些行:

的UIViewController *的viewController = [[UIStoryboard storyboardWithName:@ “主” 束:无] instantiateViewControllerWithIdentifier:@ “TabNav”]; [self presentViewController:viewController animated:YES completion:nil];

换句话说,它不承认self.storyboard ...不管怎样,感谢您的帮助!

0

致电前:

[self.navigationController pushViewController:tabController animated:YES]; 

你必须在UINavigationController添加 - tabController到视图层次结构。

//扩展

试试这个,:

 UINavigationController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"TabNav"]; 
    [tabController willMoveToParentViewController:self]; 
    //try wit this line if this will not work 
    //tabController.view.frame = self.view.bounds; 
    [self.view addSubview:tabController.view]; 
    [self addChildViewController:tabController]; 
    [tabController didMoveToParentViewController:self]; 
    [self.navigationController pushViewController:tabController animated:YES]; 
+0

我该怎么做?我的意思是,我对前一个视图做了相同的过程,并且它工作正常... –

+0

查看编辑答案。 – Greg

+0

这个想法很有效,但由于表格在一个标签中,当我使用它时,它会打开我在此标签中调用的标签栏。 –