UITabBar items jumping on back navigation on iOS 12.1 UITabBar items jumping on back navigation on iOS 12.1 ios ios

UITabBar items jumping on back navigation on iOS 12.1


In your UITabBarController, set isTranslucent = false


Apple has now fixed that in iOS 12.1.1


I guess it's Apple's bugBut you can try this as a hot fix: just create a class for your tabBar with following code:

import UIKitclass FixedTabBar: UITabBar {    var itemFrames = [CGRect]()    var tabBarItems = [UIView]()    override func layoutSubviews() {        super.layoutSubviews()        if itemFrames.isEmpty, let UITabBarButtonClass = NSClassFromString("UITabBarButton") as? NSObject.Type {            tabBarItems = subviews.filter({$0.isKind(of: UITabBarButtonClass)})            tabBarItems.forEach({itemFrames.append($0.frame)})        }        if !itemFrames.isEmpty, !tabBarItems.isEmpty, itemFrames.count == items?.count {            tabBarItems.enumerated().forEach({$0.element.frame = itemFrames[$0.offset]})        }    }}