如何隐藏swift中嵌入导航堆栈的视图控制器中的标签栏?

时间:2018-05-04 05:48:35

标签: ios swift uinavigationcontroller uitabbarcontroller

enter image description here

我在第二个标签栏中有一个InvoiceVC(标签栏索引:1),如上图所示。如果点击表格视图单元格,我需要像下面的图片一样转到InvoiceDetailVC

enter image description here

正如您在InvoiceDetailVC中看到的那样,InvoiceDetailVC底部没有标签栏,我的意思是底部有红色标记的标签。我需要删除该标签栏。

我试图使用present modally而不是push show segue。但问题是,没有后退按钮可以回到InvoiceVC

那我该怎么办?

enter image description here

1 个答案:

答案 0 :(得分:2)

在推送时使用prepareforsegue并将hidesBottomBarWhenPushed设置为true以隐藏目标视图控制器上的标签栏。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if (segue.identifier == "InvoiceVC") {
        let indexPath: IndexPath? = tableView.indexPathForSelectedRow
        let destViewController = segue.destination as? InvoiceVC
        destViewController?.recipeName = recipes[indexPath?.row ?? 0]
        destViewController?.hidesBottomBarWhenPushed = true
    }
}