В моем приложении есть панель вкладок в нижней части экрана, управляемая UITabBarController. В определенных ситуациях панель вкладок должна анимировать скольжение вниз и из поля зрения. Это отлично работает с кодом, похожим на следующий тестовый код (menuController — это UITabBarController).
Код: Выделить всё
UIView.animate(withDuration: 2, delay: 0, options: .curveEaseIn) {
var frame = self.menuController.tabBar.frame
frame.origin.y += frame.size.height
self.menuController.tabBar.frame = frame
} completion: { finished in
self.menuController.tabBar.isHidden = true
}
Я определил, что вероятная причина в том, что что-то вызывает новый макет панели вкладок, хотя я не знаю, как и почему это происходит в полной версии приложения. Я могу смоделировать эффект, самостоятельно запустив макет в тестовом коде:
Код: Выделить всё
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
self.menuController.view.setNeedsLayout()
})
Подробнее здесь: https://stackoverflow.com/questions/798 ... -animation
Мобильная версия