微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xcode导航栏按钮对齐

如何解决Xcode导航栏按钮对齐

我有一个导航栏,其中有3个左栏按钮(图标)和1个右栏按钮(返回)。

右键(BACK)按钮一直保持在我希望的最右侧。

每个图像的左3个左键按钮均未对齐:

Nav bar

我希望它们要么全部留着,要么在剩余空间中等距分布。

我将每个图标的宽度设置为50px,每侧的插图都设置为10px。但是,似乎第2个和第3个按钮(文档和星号图标)遵循这些规则,但是第1个(链接图标)则只占用了所有剩余空间。

环顾四周,但看不到设置对齐方式/间距的方法。没有帮助,不胜感激

解决方法

从现在开始,请确保在提出问题时张贴您的代码,因为如果不看就很难理解问题。

这里是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,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
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。