Анимация высоты панели вкладок в 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.

0 ответов

Другие вопросы по тегам