当前位置: 首页 > 面试题库 >

推/回时隐藏/显示标签栏。迅速

傅宏恺
2023-03-14
问题内容

答案:
在每个视图控制器中使用self.tabBarController?.tabBar.hidden而不是hidesBottomBarWhenPushed来管理视图
控制器是否应显示选项卡栏。

override func viewWillAppear(animated: Bool) {
    self.tabBarController?.tabBar.hidden = true/false
}

我想要

视图控制器1:应显示选项卡栏

视图控制器2:应显示标签栏

视图控制器3:不应显示选项卡栏。

视图控制器4:不应显示选项卡栏。

我写

// prepareForSegue in view controller 1, 
    let upcoming = segue.destinationViewController as! viewcontroller3
    upcoming.hidesBottomBarWhenPushed = true

// in view controller 3,
    func clickOnButton(button: UIButton) {
        self.hidesBottomBarWhenPushed = false
        self.performSegueWithIdentifier("viewController2", sender: self)
        self.hidesBottomBarWhenPushed = true
    }
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "viewController2" {
            let upcoming = segue.destinationViewController as! viewController2
            upcoming.hidesBottomBarWhenPushed = false
        }
    }
// prepareForSegue in view controller 2
    let upcoming = segue.destinationViewController as! viewController4
    upcoming.hidesBottomBarWhenPushed = true

如果1-> 3,则返回1。

如果1-> 3-> 2则返回3并返回1。

如果2-> 4,则返回2。

如果1-> 3-> 2-> 4,则返回2,不显示选项卡栏。想知道为什么。任何
建议或hidesBottomBarWhenPushed的一些解释,因为它混淆了我
很多


问题答案:

顾名思义,hiddenBottomBarWhenPushed仅在
需要时隐藏底部栏,而不会取消隐藏bottomBar。您可以执行以下操作使其生效:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.tabBarController?.tabBar.hidden = true/false
}

或者干脆把self.tabBarController?.tabBar.hidden = true/false
prepareForSegue

但是我不建议您这样做,因为bottomBar突然弹出会很奇怪,用户会以为它们突然回到了
rootViewController而不是。

用户应始终知道他们在应用中的位置以及如何到达下一个目的地。



 类似资料:
  • 我想在键盘打开时隐藏屏幕上的标签栏。我已经尝试过更改AndroidManifest.XML文件。通过将更改为,当键盘打开时,屏幕标签栏会隐藏,但问题是我现在的文本输入与键盘重叠,我也尝试过KeyBoardAvidingView,但它不起作用,因为当更改XML文件时,它也会影响其他应用程序组件。所以告诉我如何在键盘打开时隐藏标签栏而不更改XML文件。

  • 问题内容: 我通常会隐藏状态栏 但是Xcode给我一个错误,说“方法不会覆盖 其超类中的任何内容”。 如果我删除override,则Xcode会给出另一个错误:“ 带有Objective-C选择器’prefersStatusBarHidden’的方法’prefersStatusBarHidden()’与 具有相同Objective-C选择器的 超类 ‘UIViewController’的gette

  • 问题内容: 有没有办法隐藏标签栏并删除剩余空间(大约50像素)? 我试过了 没运气。我看到空白。 问题答案: 如果您在隐藏的标签栏下仍看到黑色条纹,是否尝试 在 此处选择 “在不透明的条下延伸边缘” ? 还要确保仍然选择 “底部栏” 。希望能帮助到你!

  • 主要内容:实例,jQuery hide() 和 show(),实例,实例,实例,jQuery toggle(),实例隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦! 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和

  • 我有一个前台服务,按下按钮后会显示一个窗口。有没有办法隐藏(或过度隐藏)服务窗口显示屏上的系统状态栏?有我可以用的旗子吗?我试着到处找,但运气不好。

  • 问题内容: 我可以用 但这也会删除标签。我可以以任何方式绘制刻度标签,但不能绘制刻度和书脊 问题答案: 您可以使用(http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.tick_params)将刻度长度设置为0 :