Измените продолжительность анимации в соответствии с вашими предпочтениями и назначьте этот класс вашим переходам навигации для анимации слайдов.

у создать анимацию, такую ​​какFacebook приложение для iOS на вкладке[1], Я уже пытался разработать какую-то анимацию, проблема в том, что старый контроллер представления становится невидимым непосредственно на коммутаторе, вместо того, чтобы медленно исчезать, пока новый контроллер быстро скользит.

Я нашел этот ТАК вопросКак анимировать переключатель вкладок панели вкладок с помощью слайд-перехода CrossDissolve? но правильное помеченное решение на самом деле не работает для меня (это не слайд, а постепенный переход). То, что я также хотел бы получить, это сделать слайд влево или вправо для переключения вкладок. Как это было на старой версии Facebook.

Что у меня так далеко, это:

extension TabBarController: UITabBarControllerDelegate  {
    func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
        guard let fromView = selectedViewController?.view,
              let toView = viewController.view else { return false }
        if fromView != toView {
            toView.transform = CGAffineTransform(translationX: -90, y: 0)
            UIView.animate(withDuration: 0.25, delay: 0.0, options: .curveEaseInOut, animations: {
                toView.transform = CGAffineTransform(translationX: 0, y: 0)
            })
        }; return true
    }
}
class TabBarController: UITabBarController {
    override func viewDidLoad() {
        super.viewDidLoad()
        delegate = self
    }
}

Как это исправить?

[1] Я бы очень хотел добавить GIF из приложения Facebook. Проблема в том, что я не хочу подвергать цензуре видео и просто раскрывать слишком много своих данных. (Даже если у fb они уже есть). Также на YouTube я не нашел подходящей записи. Пожалуйста, попробуйте сами в приложении fb в iOS.

Ответы на вопрос(3)

Ваш ответ на вопрос