我曾多次面临这个任务。我找到了很多教程,但从未找到过一篇能够让按钮的部分超出标签栏并居中的教程。最终,我想出了一种方法来正确完成它。我实现了一个简单的示例项目,并提供了如何做的说明。请参考我的自定义 Tabbar 中心按钮存储库作为示例。另外一个好处是,当你使用隐藏按钮条在推送时属性时,中心按钮会与标签栏正确隐藏。
一个UITabBar包含一个UITabBarItem数组,它们继承自UIBarItem。但与UIBarButtonItem不同的是,后者也继承自UIBarItem,但没有API可以创建具有customView的UITabBarItem。因此,我们将创建一个常规的UITabBarItem,然后将自定义的UIButton放在UITabBar上方,而不是尝试创建自定义的UITabBarItem。 https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar 这是Swift的代码: https://github.com/itsKaynine/SwiftRaisedTab 类似问题的源代码,使用Swift 3: https://dev59.com/L1oV5IYBdhLWcg3wnf_r#36016377