![](/img/trans.png)
[英]Present View Controller embedded in Navigation Controller apart of Tab bar controller modally
[英]Present a Tab Bar View Modally when View Controller is embedded in a Navigation Controller?
一種方法來做到這一點......
給作為您的第二個選項卡的UINavigationController
一個 StoryboardID - 例如“createItemsNavController” - 然后在您的自定義選項卡欄 controller class 中實現shouldSelect
。
如果選擇了第二個選項卡(選項卡,像所有 arrays 一樣,都是從零開始的),實例化您的“createItemsNavController”並呈現它,為shouldSelect
返回false
:
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
guard let indexOfTab = viewControllers?.firstIndex(of: viewController) else {
return true
}
if indexOfTab == 1 {
if let vc = storyboard?.instantiateViewController(withIdentifier: "createItemsNavController") as? UINavigationController {
present(vc, animated: true, completion: nil)
}
return false
}
return true
}
如果你要走那條路,你也可以(這可能是個好主意)用空白視圖 controller 替換 Storyboard 中的 Tab 連接......因為你可能想避免它被標簽欄加載 Z594C103F2C6E04CDAZ8ABAB09F ,即使您從不允許激活該選項卡。
附帶說明:這可能是一個非常令人困惑的用戶體驗。 用戶(和Apple )喜歡符合通用界面操作的應用程序。 由於用戶熟悉選項卡欄,選擇選項卡按鈕會切換到該選項卡,因此可能不贊成以這種方式更改功能。
當然,這是您的應用程序和您的設計選擇...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.