ios - 为不同的屏幕使用自定义导航栏?

标签 ios swift xcode uinavigationcontroller uinavigationbar

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

  • 标题和后退按钮
  • 标题、左键和右键
  • 带有角标(Badge)计数的通知图标的标题
  • 带有角标(Badge)计数的购物车图标的标题

想到了两种不同的方法:

  1. 以编程方式在基本 Controller 中创建导航(用于通知和卡片的角标(Badge)图标动画可能难以制作动画?)
  2. 创建一个自定义的 xibView,它可以作为 subview 添加到导航中(可能很难检测到按钮的 Action ?)

实现此行为的更好方法是什么?

最佳答案

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

您不直接与导航栏交互(或使用分离的导航栏 - 这会给您带来很多关于布局问题等的麻烦,UINavigationController 会为您处理,免费)。

要更改每个屏幕上可见的按钮,您可以修改每个 View Controller 的 navigationItem 属性(它的 leftBarButtonItemrightBarButtonItem 等) .

It's all in the docs .

关于ios - 为不同的屏幕使用自定义导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46968357/

相关文章:

objective-c - 如何在 objective-c 中将文件转换为这种十六进制表示法?

swift - 添加两个结构数组

ios - WatchKit 扩展包 ID 不可用

ios - 如何在 iOS 中给 blurrview 上色?

ios - 我看不到这个 NSLayoutConstraints 的错误

ios - 无法找到 DeviceSupport 目录 iOS 7.1

ios - 为什么当我在描边路径颜色之前填充路径颜色时 CGContext 不绘制任何内容。

ios - .m 文件中的 ivar 声明

ios - UIActivityViewController 更改导航栏文本颜色

ios - 注册推送通知功能不会被调用