2009-12-03 13 views
0

有一個具有3個視圖控制器子視圖的UITabBarController。 該應用程序的默認子視圖是viewOne(帶有viewControllerOne)。另外兩個是viewTwo和viewThree,按照預期在UITabBar中進行排序。由UIViewController在UITabBar中執行的操作和切換回原始視圖

我的目標是在viewOne處於活動狀態時在UITabBar中選擇viewTwo時執行操作。

的viewTwo視圖從未顯示而是,選擇viewTwo時,在執行viewTwoController的動作,則UITabBar然後顯示viewOne作爲選擇並且一部開拓創新視圖再次示出。

第二個槽中的UITabBarItem必須與viewTwo筆尖保持關聯。

是否有可能將UITabBarItem與其視圖控制器中的操作相關聯,並且在完成該操作後,指示其父級UITabBarController切換到其他視圖?

回答

1

UITabBarControllerDelegate獲得了一個名爲tabBarController:shouldSelectViewController的方法,您可以覆蓋該方法以在觸發標籤開關時執行任何您想要執行的操作。

下面是文檔:http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITabBarControllerDelegate/tabBarController:shouldSelectViewController

+0

我還是想在視圖控制器來執行,雖然代碼,所以這並不能幫助。 1)默認選擇View1 2)選擇View2 3)執行View2Controller中的代碼4)當View2Controller中的代碼完成時,再次打開View1。 – 2009-12-04 15:56:31

+1

在OS 3.x上,您可以使用tab控制器的selectedViewController以編程方式在View2中完成View1的選擇。 – nico 2009-12-04 23:40:09

+0

在viewControllerTwo中的選擇器中設置(((UITabBarController *)self.parentViewController).selectedIndex = 0在UITabBarController欄上選擇對應viewControllerOne的選項卡,但視圖顯示爲空白。我知道一個視圖與視圖控制器相關聯,因爲我通過查看此控制器來啓動應用程序。什麼會導致選項卡被選中,但視圖不被顯示?如果我改爲設置selectedViewController屬性並引用UITabBarController的viewController NSArray,我會得到相同的結果。幫幫我! – 2009-12-11 22:29:19