Прокрутка таблицы при смене вкладок - PullRequest
0 голосов
/ 28 марта 2020

Я хочу прокрутить табличное представление вверх, когда кто-то нажимает значок панели вкладок. Моя панель вкладок имеет 4 вкладки, таблица находится в индексе 0.

В настоящее время я могу заставить ее правильно прокрутить вверх, но я хочу, чтобы она делала это только в индексе 0, а не при возврате из другие элементы.

В настоящее время у меня есть

func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {

    let tabBarIndex = tabBarController.selectedIndex

    if tabBarIndex == 0 {
        tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
    }
}

Что мне нужно, если вы находитесь в индексе 0, затем прокрутите страницу вверх, если вы переходите к 0 из другой вкладки, затем оставь свиток как есть.

1 Ответ

0 голосов
/ 29 марта 2020

Редактировать: до меня дошло, что вы можете выполнить весь процесс на shouldSelect

Вам необходимо знать, какая вкладка была выбрана ранее. Один из способов сделать это - переместить логи c в «tabBarController (_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController)»

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
    // first condition checks the selected tab is the current view controller
    // second verifies you are not coming from another tab
    if viewController == self && viewController == tabBarController.selectedViewController { 
         tableView?.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
    }
    return true
}
...