从现在开始,请务必在提问时发布您的代码,因为如果不看到它,很难理解问题。
顺便说一句,这是TabBarController类的代码,它也有contentInsets
它在我的每个应用程序中都能完美运行
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let firstVeiwController = createNavController(vc: ExercisesLobby(), selected: UIImage(named: "Note")!, unselected: UIImage(named: "NoteUnselected")!)
let secondViewController = createNavController(vc: TrainingPlansViewController(), selected: UIImage(named: "Exercises")!, unselected: UIImage(named: "ExercisesUnselected")!)
let thirdViewController = createNavController(vc: MapViewController(), selected: UIImage(named: "Map")!, unselected: UIImage(named: "MapUnselected")!)
viewControllers = [firstVeiwController, secondViewController, thirdViewController]
tabBar.barStyle = .black
tabBar.barTintColor = UIColor.white
tabBar.tintColor = UIColor.black
tabBar.unselectedItemTintColor = UIColor.lightGray.withAlphaComponent(0.9)
additionalSafeAreaInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
guard let items = tabBar.items else { return }
for item in items {
item.imageInsets = UIEdgeInsets(top: 2, left: 0, bottom: -22, right: 0)
}
selectedViewController = secondViewController
}
//MARK: - Functions
}
extension UITabBarController {
func createNavController(vc: UIViewController, selected: UIImage, unselected: UIImage) -> UINavigationController {
let viewController = vc
let navController = UINavigationController(rootViewController: viewController)
navController.tabBarItem.image = unselected
navController.tabBarItem.selectedImage = selected
return navController
}
}