【发布时间】:2014-06-22 16:27:26
【问题描述】:
我有以下视图层次结构:
标签栏控制器 -> 导航控制器 -> 自定义视图控制器
在我的自定义视图中,我希望 TabBar 消失并显示一个工具栏。就像在 iOS7 原生照片应用中按下“选择”时一样。
我尝试了不同的 SO 解决方案,但都成功了:
- TabBar 隐藏,Toolbar 以黑色间隙显示
- TabBar 隐藏和 Toolbar 隐藏
- TabBar 隐藏工具栏与底部有间隙。但是,自定义视图内容会到达屏幕底部(在工具栏下方和标签栏之前所在的位置)
与我发现的其他解决方案的不同之处在于,我需要在点击而不是推送时发生这种情况。
我尝试过的一些事情:
// #1
[self.navigationController.toolbar setHidden:!isSelecting];
[self.tabBarController.tabBar setHidden:isSelecting];
// #2
self.hidesBottomBarWhenPushed = YES;
// #3
#1 & #2 variants @ different controller along the path
【问题讨论】:
-
“与我发现的其他解决方案的不同之处在于,我需要在点击而不是推送时发生这种情况。”嗯……什么?
-
你能分享一些你所取得的代码或截图吗?您是否尝试调整自定义视图控制器的视图大小以填补您得到的空白?
-
我怀疑当您触摸“选择”按钮时,“照片”应用正在进行模态演示(没有动画)。如果您呈现一个带有工具栏的控制器,它将覆盖标签栏,并呈现您在照片中看到的外观。
-
@LordZsolt,我的意思是我认为建议使用
hidesBottomBarWhenPushed的答案在这种情况下不起作用。但也许我错了。 -
@NikolasBurk,我没有尝试调整大小。添加了一些代码。
标签: ios objective-c uinavigationcontroller uitabbarcontroller