Как обнаружить изменения индекса панели вкладок в Swift? - PullRequest
0 голосов
/ 31 мая 2018

У меня есть 3 вкладки в контроллере панели вкладок: Main, TabOne, TabTwo (индекс табуляции 0,1,2 соответственно)

Контроллер основного представления имеет табличное представление, в котором отображаются все элементы в массиве,В контроллерах представления TabOne и TabTwo все они имеют кнопки:

@IBAction func mypost(_ sender: Any) {
    tabBarController?.selectedIndex = 0}

Массив в главном контроллере представления должен изменяться по-разному в зависимости от индекса вкладки предыдущего контроллера представления.Ex.Если предыдущим контроллером представления является TabTwo, то в табличном представлении будут показаны только все элементы четных индексов НО Если предыдущим контроллером представления является TabOne, то в табличном представлении будут показаны только все элементы нечетных индексов

Как я могу это сделать?

1 Ответ

0 голосов
/ 01 июня 2018

Одним из возможных решений является настройка контроллера основного представления в качестве делегата контроллера панели вкладок.Затем реализуйте метод делегата shouldSelect и посмотрите на текущий выбранный индекс контроллера вкладок.

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
    let index = tabBarController.selectedIndex
    if index == 1 {
        // load data appropriate for coming from the 2nd tab
    } else index == 2 {
        // load data appropriate for coming from the 3rd tab
    }

    return true
}
...