2016-07-06 3 views
0

ユーザーがタブをタップすると、選択したタブを切り替えたいと思います。たとえば、2つのタブがあり、最初のタブが表示されている場合、最初のタブ(2番目のタブをタップするだけでなく)をタップすると2番目のタブに移動します。私は下に見られるようにカスタムUITabBarControllerを実装しました。tabBar内のタブを変更できません(tabBar:didSelectItemアイテム:)

class CustomizedTabBarContorller: UITabBarController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.delegate = self 
     self.selectedIndex = 1     // this way works 
    } 


    override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 

     if tabBar.items?.indexOf(item) == self.selectedIndex { 
      self.selectedIndex = (selectedIndex == 0) ? 1 : 0 // doesn't work 
     } 
    } 

} 

選択してタップしたタブに基づいてタブを変更する方法はありますか?

私も見てきました:
UITabBar can't change selected index
UITabBarController Set a Default Tab
...と他の多くの。

+0

タブバー項目に関連付けられたビューコントローラを動的に変更しようとしていますか? – anders

+0

いいえ実際には、私はあなたが "動的に"何を意味しているのかよく分かりませんが、FirstViewControllerとSecondViewControllerは常に第1と第2のバーアイテムに関連付けられた位置にあります。これは変更されません。 – Andrej

+0

私はあなたが達成しようとしていることを理解していないと思います – anders

答えて

0

メインキューにself.selectedIndex = self.selectedIndex == 0 ? 1 : 0を移動すると問題が解決します。魅力のように動作します。

関連する問題