返回

顺畅切换TabBar和Toolbar,掌握自定义展示的诀窍

IOS

前言

在iOS應用程式的用戶界面設計中,UITabBarController結合UINavigationController、UITableViewController是經典的組合用法。這種組合可以實現底部導覽列和頂部導覽欄的同時存在,讓用戶可以方便地在不同頁面之間切換。

然而,在某些情況下,我們可能需要隱藏TabBar,以便騰出更多的空間來顯示其他內容。例如,在觀看影片或玩遊戲時,我們可能希望隱藏TabBar,以獲得更沉浸式的體驗。

在本文中,我們將介紹如何在點擊導覽列按鈕後,隱藏TabBar,並在點擊工具欄按鈕後,顯示TabBar。

實作步驟

步驟1:創建TabBarController和NavigationController

首先,我們需要創建一個TabBarController和一個NavigationController。

let tabBarController = UITabBarController()
let navigationController = UINavigationController()

tabBarController.viewControllers = [navigationController]

步驟2:創建TabBar和Toolbar

接下來,我們需要創建一個TabBar和一個Toolbar。

let tabBar = UITabBar()
let toolbar = UIToolbar()

步驟3:將TabBar和Toolbar添加到TabBarController中

將TabBar和Toolbar添加到TabBarController中。

tabBarController.tabBar = tabBar
tabBarController.toolbar = toolbar

步驟4:創建一個自定義的NavigationItem

接下來,我們需要創建一個自定義的NavigationItem。這個NavigationItem將包含一個按鈕,用於隱藏或顯示TabBar。

let navigationItem = UINavigationItem()
let button = UIButton(type: .system)
button.setTitle("隱藏/顯示TabBar", for: .normal)
button.addTarget(self, action: #selector(toggleTabBar), for: .touchUpInside)
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)

步驟5:將NavigationItem添加到NavigationController中

將NavigationItem添加到NavigationController中。

navigationController.navigationItem = navigationItem

步驟6:隱藏TabBar

在按鈕的觸發函數中,我們需要隱藏TabBar。

@objc func toggleTabBar() {
    tabBarController.tabBar.isHidden = !tabBarController.tabBar.isHidden
}

步驟7:顯示TabBar

在工具欄按鈕的觸發函數中,我們需要顯示TabBar。

@objc func showTabBar() {
    tabBarController.tabBar.isHidden = false
}

總結

通過上述步驟,我們可以實現點擊導覽列按鈕後,隱藏TabBar,並在點擊工具欄按鈕後,顯示TabBar。

應用場景

這種技術可以應用在各種場景中,例如:

  • 觀看影片時,可以隱藏TabBar,以獲得更沉浸式的體驗。
  • 玩遊戲時,可以隱藏TabBar,以騰出更多的空間來顯示遊戲畫面。
  • 在閱讀文章時,可以隱藏TabBar,以獲得更簡潔的閱讀體驗。

結語

希望這篇文章對您有所幫助。如果您有任何問題,請隨時留言。