使用自定义导航栏进行不同的屏幕?

时间:2017-10-27 05:56:06

标签: ios swift xcode uinavigationcontroller uinavigationbar

我正在开发一个包含不同pg_database的应用。

  • 标题&后退按钮
  • 标题,左键和&右键
  • 带有徽章计数的通知图标的标题
  • 标题带有带徽章计数的购物车图标

考虑了两种不同的方法:

  1. 在基本控件navigationBars中创建导航(通知和卡片的徽章图标动画可能很难制作动画?)
  2. 创建自定义programmatically,可以将其作为子视图添加到导航中(可能很难检测到按钮的操作?)
  3. 实现此行为的更好方法是什么?

2 个答案:

答案 0 :(得分:1)

标准方法是使用一个导航控制器来管理其导航栏。

您不能直接与导航栏进行互动(或使用相关的导航栏 - 这会让您在UINavigationController为您处理的布局问题等方面遇到很多麻烦,因为免费)。

要更改每个屏幕上可见的按钮,请修改每个视图控制器的navigationItem属性(leftBarButtonItemrightBarButtonItem等)。

It's all in the docs

答案 1 :(得分:0)

我建议你创建一个自定义xib。 处理操作:让处理程序本身位于自定义类中,您可以定义协议并使用该协议将操作事件传递给符合该协议的任何类。 我之所以选择委托是因为我们不需要很多控制器来获取事件(使用通知),只需要当前符合该委托的一个类。