-
-
Save calt/7ea29a65b440c2aa8a1a to your computer and use it in GitHub Desktop.
// Does not work on iOS 14.0 or later, keeping the gist just for reference. | |
extension UITabBar { | |
override open func sizeThatFits(size: CGSize) -> CGSize { | |
super.sizeThatFits(size) | |
var sizeThatFits = super.sizeThatFits(size) | |
sizeThatFits.height = 71 | |
return sizeThatFits | |
} | |
} |
I hope I'm missing something, but there's no way for me to make any of those solutions work.
In my project, UITabViewController is an initial controller and no matter what I do, the default size of the tab bar is loaded first and it changes to the new height defined with the override of sizeThatFits shortly after.
So I load the tab bar twice and it has this buggy look when the height of the tab bar changes.
I'm running iOS 14.1 and I' have tried older devices before iPhone X too in a simulator.
Any help is appreciated.
nothing from mentioned here works for me in iOS 14+
Same here unfortunately
Work for me in iOS 14+, and others
class WeiTabBarController: UITabBarController {
init() {
super.init(nibName: nil, bundle: nil)
object_setClass(self.tabBar, WeiTabBar.self)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
class WeiTabBar: UITabBar {
override func sizeThatFits(_ size: CGSize) -> CGSize {
var sizeThatFits = super.sizeThatFits(size)
sizeThatFits.height = 120
return sizeThatFits
}
}
}
@RemiRodrigues Thanks, you really saved me a lot of headaches.
@Wei18 Thank you man it works like a charm!
@Wei18 you are a champ
@Wei18 Thank you that's work for me too on iOS 14+
@Wei18 thank you! still working for swift 5+
Thanks @jcrooke This is working awesomely.