Я пытаюсь программно изменить панель вкладок в моем приложении с помощью анимации.
В моем классе делегатов панели вкладок у меня сейчас есть это, которое я получил от этой темы .
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
guard let fromView = selectedViewController?.view, let toView = viewController.view else {
return false
}
UIView.transition(from: fromView, to: toView, duration: 0.3, options: [.transitionCrossDissolve], completion: nil)
return true
}
Приведенный выше анимационный экран панели вкладок изменяется, когда пользователь нажимает, но не работает, когда панель вкладок изменяется программно, как в этом случае:
// code in another class
self.tabBarController?.selectedIndex = 2 // does not animate
Я прочитал эту ветку , которая задает аналогичный вопрос, но она написана нацель-с и 4 года назад.
Есть ли какой-нибудь метод, который мог бы анимировать программные изменения панели вкладок?