Таким образом, у меня есть кнопка, которая подключена к IBAction. Когда я нажимаю кнопку, я хочу скрыть панель вкладок в своем приложении для iOS с анимацией. Это [self setTabBarHidden:hidden animated:NO];
или это [self.tabBarController setTabBarHidden:hidden animated:YES];
не работает. Это - мой код без анимации:
- (IBAction)picture1:(id)sender {
[self.tabBarController.tabBar setHidden:YES];
}
Любая справка значительно ценилась бы :D
[Swift4.2]
Просто создал расширение для UITabBarController
:
import UIKit
extension UITabBarController {
func setTabBarHidden(_ isHidden: Bool, animated: Bool, completion: (() -> Void)? = nil ) {
if (tabBar.isHidden == isHidden) {
completion?()
}
if !isHidden {
tabBar.isHidden = false
}
let height = tabBar.frame.size.height
let offsetY = view.frame.height - (isHidden ? 0 : height)
let duration = (animated ? 0.25 : 0.0)
let frame = CGRect(origin: CGPoint(x: tabBar.frame.minX, y: offsetY), size: tabBar.frame.size)
UIView.animate(withDuration: duration, animations: {
self.tabBar.frame = frame
}) { _ in
self.tabBar.isHidden = isHidden
completion?()
}
}
}