[英]2 ViewControllers presenting a UITabBarController Modally
我正在嘗試在iOS應用程序中創建類似於Instagram相機“ TabBarItem”功能的功能。 當按下相機按鈕時, tabBarController
自動退出(以模式方式),並在后台顯示相機視圖。 當我們決定關閉攝影機視圖時, tabBarController
方式顯示tabBarController,一切都很好! 我的問題類似於此實現。
我有一個自定義的UITabBar
,其中2個“ TabBarItems”應執行上述操作。 當按下一個“TabBarItem”時, tabBarController
應該解雇(模態),並作為一個視圖應該存在於后台tabBarController
被駁回。 其他“ TabBarItem”應發生相同的情況,但顯示的視圖不同。 我想到了幾種不同的方法來執行此操作,但是它們似乎都不是真正的“優雅”,因此我還沒有找到類似的問題。 所以去。
為了便於描述:
按下TabBarItem1(TB1)->(以模式方式關閉)TabBarController->顯示ViewController1(VC1)(因為正在關閉TabBarController)
按下TabBarItem2(TB2)->(以模式方式關閉)TabBarController->顯示ViewController2(VC2)(因為正在關閉TabBarController)
第一種方法:將VC1設置為初始VC->以模態形式呈現VC2(動畫:否)->以模態形式呈現TabBarController然后,當... TB1被按下時->關閉TabBarController(動畫:是)->退出VC2(動畫:否) 問題 :VC2將可見,直到關閉TabBarController。 所以這是不行的。
第二種方法:創建一個ViewController(設置為initialVC),其中包含2個基於所選TabBarItem隱藏/顯示的UIView(代表VC1.view和VC2.view)。 這是SEEMS最合理的解決方案。 但是我認為這不是很優雅。 我想知道是否有人提出任何建議。 希望它不會像我看上去的那樣令人困惑。
任何幫助,將不勝感激。
如果您執行方法#1並關閉VC2(而不先自行關閉選項卡欄),那么是否以正確的外觀將堆棧中的這兩者都關閉了? 我沒有跟上模態堆棧文檔,但我認為這可能有用。
當您需要將選項卡欄放回原位時,您可能需要做一些清理工作(盡管我認為當您重新呈現vc2時它應該會返回。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.