HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 隐藏TabBar并在按钮单击时显示NavigationController工具栏大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下视图层次结构:

标签栏控制器 – >导航控制器 – >自定义视图控制器

在我的自定义视图中,我希望TabBar消失并显示工具栏.与按下“选择”时的iOS7原生照片应用程序非常相似.

我尝试了不同的解决方案,我发现了SO,但设法得到:

> TabBar隐藏,工具栏显示黑色间隙
>隐藏TabBar并隐藏工具栏
> 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

解决方法

最终,在玩完设置后,我设法让它发挥作用.我不确定为什么它现在有效并且之前没有用,所以我很感激你的意见.

故事板:

>标记自定义视图控制器上的“在推送时隐藏底栏”
>选中导航控制器的“显示工具栏”

码:

在按钮上单击隐藏/取消隐藏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];
}

我们还需要取消隐藏自定义视图控制器代码中的第一个选项卡视图.使用setHidden:NO在代码中的任何其他位置都不起作用.

- (void)viewDidLoad
{
    [super viewDidLoad];    
    [self.tabBarController.tabBar setHidden:NO];
}

大佬总结

以上是大佬教程为你收集整理的ios – 隐藏TabBar并在按钮单击时显示NavigationController工具栏全部内容,希望文章能够帮你解决ios – 隐藏TabBar并在按钮单击时显示NavigationController工具栏所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。