Анимация высоты панели вкладок в UITabBarController в iPadOS 13.1
Похоже, есть проблема с анимацией высоты и Y панели вкладок в UITabBarController, особенно на iPadOS 13. В основном я пытаюсь анимировать скрытие панели вкладок. Прекрасно работает на iOS. Даже если мы создадим его с помощью Xcode 10, он будет работать нормально. Когда мы компилируем его с помощью Xcode 11 и запускаем на iPadOS 13, он не работает.
Я добавил кнопку. При касании он анимирует высоту панели вкладок от 100 до 200 пикселей.
import Foundation
import UIKit
class MyTabBarController : UITabBarController {
let button = UIButton(type: .roundedRect)
override func viewDidLoad() {
super.viewDidLoad()
button.backgroundColor = UIColor.red
button.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
button.addTarget(self, action: #selector(tapped), for: .touchUpInside)
self.view.addSubview(button)
}
@objc func tapped() {
UIView.animate(withDuration: 1, animations: {
if self.tabBar.frame.size.height > 100 {
self.tabBar.frame.origin.y = self.view.frame.size.height - 100
self.tabBar.frame.size.height = 100
} else {
self.tabBar.frame.origin.y = self.view.frame.size.height - 200
self.tabBar.frame.size.height = 200
}
})
}
}
Приведенный выше код должен анимировать высоту панели вкладок от 100 до 200 пикселей. Всякий раз, когда нажимается кнопка, вы видите, что панель вкладок анимируется снизу вверх и всегда достигает высоты 65.