在我的UITableView
中,当用户点击一个单元格时,我会发起一个像这样的segue:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"MCExpandedSegue" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"MCExpandedSegue"]){
// Opens item in browser
MCExpandedViewController *controller = (MCExpandedViewController *) segue.destinationViewController;
}
}
为了让目标视图控制器(MCExpandedViewController
)具有导航栏和后退按钮,我将其嵌入导航控制器中,如下所示:
但是,在点击表格中的单元格以进行此segue时,我收到以下错误:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported'
。这是因为它试图转向MCExpandedViewController但被绊倒,因为它包含在导航控制器中?我怎样才能正确地做到这一点?
答案 0 :(得分:2)
首先确保您的第一个视图控制器嵌入导航控制器中。 MatchCenterViewController位于导航控制器中。 在不同的场景中不需要另一个导航控制器。
答案 1 :(得分:2)
the navigation controller
并删除
直接MCExpandedViewController
。将此添加到viewWillAppear:MCExpandedViewController.m
[self.navigationController setNavigationBarHidden:NO animated:YES];