2017-01-03 12 views
0

Я пытаюсь определить, какая вкладка выбрана пользователем в реальном времени. в качестве примера, если пользователь выбирает индекс 0 th, в то же время я хочу, чтобы этот пользователь выбрал вкладку индекса zeroth. поэтому для этого я использовал метод делегата tabbarcontroller, как показано ниже.панель вкладок выбрала методы делегирования, указав ранее выбранный индекс вкладок в ios, swift 3

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { 

     print("the selected index is : \(selectedIndex)") 
    } 

, но это показывает, что предыдущий вид controller.as пример думаю, что я нахожусь в second tab, а затем я выбираю first tab затем печатается индекс как 2 .so, как я могу получить выбранную вкладку правильно. надеюсь, что это поможет.

+0

оформления заказа мой ответ. –

ответ

5

Вы можете получить индекс выбранного UITabBarItem, получив позицию этого конкретного элемента из массива элементов в UITabBar. Попробовать это

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { 
    print("the selected index is : \(tabBar.items.index(of: item))") 
} 
+0

thanx и приятно. – bill

2

Swift 3,1:

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { 
    guard let items = tabBar.items else { return } 
    print("the selected index is : \(String(describing: items.index(of: item)))") 
}