如何为导航控制器导向的项目添加自定义标签栏

How to add a custom tab bar to a project oriented by navigation controller

问题:

我正在处理一个包含多个故事板的项目,SB 中的所有导航都是使用导航控制器完成的。但是,我还想添加一个标签栏来在故事板之间切换。由于它的外观,我需要使用自定义标签栏。

我需要知道的:

  1. 我应该继承 UITabBarController 还是只使用视图和管理器?

  2. 如果我需要子类化 UITabBarController,如何将自定义标签栏 (.xib) 中的按钮 link 到标签栏控制器? (Delegate/Protocol,link直销...)

  3. 我正在使用 xibs 和故事板,这是尽可能多地使用它们来解决这个问题的最佳方法?

这就是我要实现的目标:

对于屏幕截图中的外观,我会使用常规 UITabBarController。要在中间创建大的红色按钮,只需制作一个 UIButton 并将其添加到 UITabBar.

上方

您可以在 open-source RaisedCenterTabBar project 中看到一些示例代码,尽管我会使用自动布局而不是手动布局来定位按钮。

您将无法使用情节提要来添加按钮,但它仍然比重新发明或子类化要少得多 UITabBarController