I'm creating a custom tab bar class and ensuring it runs smoothly on iOS 15+. I've also added compatibility for iPads on iOS 18 to override the trait collection when needed. The following code is placed inside viewDidLoad and works without issues
if #available(iOS 18, *), UIDevice.current.userInterfaceIdiom == .pad { setOverrideTraitCollection( UITraitCollection(horizontalSizeClass: .compact), forChild: self ) }