addSubview不显示工具栏的顶部和底部

时间:2014-04-18 14:41:05

标签: ios uitableview uinavigationcontroller toolbar

我有类似的东西:

(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显示视图时,它可以正常工作

有人可以就这个问题给我一些建议吗?

1 个答案:

答案 0 :(得分:1)

您没有看到它,因为您正在实例化MessageConsultDetailViewController的新实例并使其成为您的窗口的根视图控制器 - 这意味着它将是层次结构中唯一的视图控制器,以及导航控制器(带有它的导航和工具栏)和表视图控制器将被取消分配,如果您没有任何强指针。显示该控制器的正确方法是从表视图控制器进行推送。

顺便说一句,当您将控制器设置为窗口的根视图控制器时,您不应该将其视图作为子视图添加到窗口中 - 当您将其作为根视图控制器时已经完成了。