Xya*_*and 7 objective-c uitabbarcontroller uinavigationcontroller ios
我有以下视图层次结构:
标签栏控制器 - >导航控制器 - >自定义视图控制器
在我的自定义视图中,我希望TabBar消失并显示工具栏.与按"选择"时的iOS7原生照片应用程序非常相似.
我尝试了不同的解决方案,我发现了SO,但设法得到:
与我发现的其他解决方案的不同之处在于,我需要在点击而非推送时发生这种情况.
我试过的一些事情:
// #1
[self.navigationController.toolbar setHidden:!isSelecting];
[self.tabBarController.tabBar setHidden:isSelecting];
// #2
self.hidesBottomBarWhenPushed = YES;
// #3
#1 & #2 variants @ different controller along the path
Run Code Online (Sandbox Code Playgroud)
最终,在玩完设置后,我设法让它发挥作用.我不确定为什么它现在有效并且之前没有用,所以我很感激你的意见.
故事板:
码:
在按钮上单击隐藏/取消隐藏tabBar: [self.tabBarController.tabBar setHidden:state]
这几乎可行.按下按钮时它会隐藏/取消隐藏tabBar,但唯一的问题是切换标签时最初会隐藏tabBar.我不得不做一些额外的努力让它可见.
设置UITabBarControllerDelegate为在切换选项卡时取消隐藏tabBar.我是在自定义中做到的SUSourceTabController:
- (void)viewDidLoad
{
[super viewDidLoad];
self.delegate = self;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController: (UIViewController *)viewController
{
[self.tabBar setHidden:NO];
}
Run Code Online (Sandbox Code Playgroud)
我们还需要取消隐藏自定义视图控制器代码中的第一个选项卡视图.setHidden:NO在代码中的任何其他位置使用都不起作用.
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tabBarController.tabBar setHidden:NO];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5627 次 |
| 最近记录: |