当某些条件为真时显示 UITabBar

Posted

技术标签:

【中文标题】当某些条件为真时显示 UITabBar【英文标题】:Show a UITabBar when some condition is true 【发布时间】:2016-10-09 12:40:06 【问题描述】:

我目前是 swift 编程语言和整个 Xcode 的初学者,我正在尝试制作一个基本的应用程序。

我想要实现的是让我的 ViewController 在我执行检查以确保条件为真之后显示一个 UITabBar。

我首先有一个 UITableViewController,它检查从我的数据库上的一个表中附加所有标题并将它们存储在一个数组中。

然后,当我单击一个单元格时,会打开一个新控制器,该控制器使用数组 indexPath 中的名称并将其用作视图标题。

然后我检查数组中的第一项是否等于视图标题,这就是我需要帮助的地方。

我想创建一个标签栏(如图所示),仅当标题等于数组中的第一个条目时才显示。我已经检查了这个检查:

if (institutionConnected + " University" == (self.navigationItem.title!)) 
        print("You are connected to this institution")
        print("This is the first entry")

institutionConnected 是一个字符串变量,我也分配了数组的第一项

从这里我有点不确定如何创建一个标签栏以及它的定位,所以任何帮助将不胜感激。

另外,显然在其他没有标签栏的视图上,标签栏将被隐藏的地方会有一些空白空间,所以关于如何让我的 tableView 填充页面以避免空白空间的任何想法?

This is the view with the tab bar Table view which when clicked opens the view with the tab bar

我希望我已经解释了,但如果需要,请询问更多信息!

提前致谢,

【问题讨论】:

【参考方案1】:

如果我正确理解你的问题,

我认为你应该先创建一个 TabBarViewController,然后将 TabBarViewController 与你的 TableViewController 连接起来。

在您的 TableViewController 中,您可以使用以下函数来隐藏或显示您的标签栏

override func viewWillAppear(_ animated: Bool) 
    self.tabBarController?.tabBar.isHidden = true

【讨论】:

以上是关于当某些条件为真时显示 UITabBar的主要内容,如果未能解决你的问题,请参考以下文章

当变量满足条件时显示 UIView

如何执行?当某些条件为真时,带有 OR 的 jquery.on 事件?

未选中某些或所有复选框时显示消息

如何使条款和条件仅在我首次登录 Google 时显示?

如何仅在 Angular 的某些页面上显示标题组件(现在它仅在重新加载时显示)

不知何故,某些 css 仅在用户登录时显示 - 而对已注销的用户不显示。 HTML/CSS