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

Posted

技术标签:

【中文标题】addSubview 不显示工具栏顶部和底部【英文标题】:addSubview don't display toolbar top and bottom 【发布时间】:2014-04-18 14:41:04 【问题描述】:

我有类似的东西:

(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】:

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

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

【讨论】:

他不应该从导航控制器推送而不是tableView吗? [self.navigationController pushViewController: _messageConsult]

以上是关于addSubview 不显示工具栏顶部和底部的主要内容,如果未能解决你的问题,请参考以下文章

盒子阴影没出现?

java Android的顶部工具栏和底部工具栏

Android 工具栏出现在屏幕底部而不是顶部

ViewController 不响应触摸

如何设置 SwiftUI 工具栏显示在视图的中心

如何检测 SwiftUI List 中的向上、向下、顶部和底部滚动