如何将子视图添加到 UIViewController 将 UINavigationBar 推到后面
Posted
技术标签:
【中文标题】如何将子视图添加到 UIViewController 将 UINavigationBar 推到后面【英文标题】:How to add subview to UIViewController pushing UINavigationBar behind 【发布时间】:2012-10-11 09:30:50 【问题描述】:我想要的如下:
基本上我有一个带有导航栏的视图控制器。左侧 UINavigationBarItem 有一个菜单按钮。单击菜单项的菜单按钮列表将从顶部开始动画。这是使用“addSubview”方法实现的。但菜单列表添加为导航栏下方的子视图。我想在菜单列表视图后面添加菜单列表视图推送导航栏。我不想隐藏导航栏。
谢谢
【问题讨论】:
"我想添加菜单列表视图,将导航栏推到菜单列表视图后面。"你不来这里吗? Gill,当我将它添加为子视图时,它会在顶部显示导航栏,然后是菜单列表视图。也就是说,关于窗口菜单列表视图框架的 y 是状态栏高度 + 导航栏高度。如何将此 y 位置设置为仅状态栏高度? 什么是菜单列表??它是 UIView 还是弹出窗口? 这似乎有冲突,因为“我不想隐藏导航栏”和“我如何将这个 y 位置设置为仅状态栏高度”不同(44px)。 你可以使用 [self.navigationController setNavigationBarHidden:YES animated:animated] 隐藏你的导航栏; 【参考方案1】:try:**[self.navigationController.view** addSubview:xxxView
],这适用于我的应用程序。不要用[self.view addSubview:xxxView
],那不能把导航栏放在后面。
【讨论】:
【参考方案2】:你试过吗..? 添加子视图
后将您的子视图置于最前面//after adding your menu view
[self.view bringSubViewToFront:menuItemsView];
[self.view sendSubviewToBack:self.navigationController.navigationBar ];
【讨论】:
【参考方案3】:我不确定,但是........这可能是不可能的,因为如果您想在UINavigationBar
后面显示您的菜单列表那么你需要隐藏你的UINavigationBar
而不隐藏UINavigationBar
菜单列表将始终显示在UINavigationBar
下方。
【讨论】:
以上是关于如何将子视图添加到 UIViewController 将 UINavigationBar 推到后面的主要内容,如果未能解决你的问题,请参考以下文章
如何将子视图添加到自定义 UICollectionViewCell