Я хочу реализовать метод scrollToTop на всех моих viewControllers
в моем UITabBarController
. Ниже приведен метод в UITabBarControllerDelegate
и триггеры, когда я выбираю вкладку. Проблема в том, что я хочу прокручиваться только к вершине viewController
, когда viewController
активен. Чтобы пользователь мог переключать вкладки, не теряя позиции прокрутки, но когда он касается вкладки в панели вкладок активной в данный момент вкладки, он должен прокрутиться до самого верха.
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
if viewControllerThatIsCurrentlyActiveInTabBar == viewController {
scrollToTop()
}
}
По сути, я Мне нужно это условие оператора if. Я пытался: viewController.isViewLoaded
, tabBarController.selectedViewController == viewController
, viewController.isBeingPresented
. Ни одно из этих условий не сработало. Он либо не сработает scrollToTop()
, либо сработает всегда, так что вы теряете позицию прокрутки при смене вкладок, потому что он сразу же прокручивается к вершине.