我有类似的东西:
(1)NavigationController - > (2)UITableViewController - > (3单击一个单元格)UIViewController
所以当我收到推送通知时,我想在视图控制器中重定向(显示一条消息)
我正在做类似的事情:
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
_messageConsult = (MessageConsultDetailViewController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"seeMoreView"];
_messageConsult.idMessage = [[userInfo objectForKey:@"aps"] objectForKey:@"id_message"];
_messageConsult.navigationController.toolbarHidden = NO;
self.window.rootViewController = _messageConsult;
[self.window addSubview:_messageConsult.view];
[self.window makeKeyAndVisible];
因此它可以很好地显示视图,但没有任何顶部/底部栏。当我直接从UITableViewCell显示视图时,它可以正常工作
有人可以就这个问题给我一些建议吗?
答案 0 :(得分:1)
您没有看到它,因为您正在实例化MessageConsultDetailViewController的新实例并使其成为您的窗口的根视图控制器 - 这意味着它将是层次结构中唯一的视图控制器,以及导航控制器(带有它的导航和工具栏)和表视图控制器将被取消分配,如果您没有任何强指针。显示该控制器的正确方法是从表视图控制器进行推送。
顺便说一句,当您将控制器设置为窗口的根视图控制器时,您不应该将其视图作为子视图添加到窗口中 - 当您将其作为根视图控制器时已经完成了。