iOS 导航栏 VS UIToolBar

标签 ios uiview uiviewcontroller uinavigationcontroller uitoolbar

根据 Apple 的“Human Interface Guidelines”- 导航栏应该只有一个按钮(标准后退​​按钮除外)

这一切都很好,但有几个应用程序在顶部导航栏上有很多按钮,例如 Facebook 应用程序 ( Image ) 我的问题/讨论来自这里。 . .

1) 苹果是否会接受使用 UIToolBar 代替导航栏(带有自定义“后退”按钮),它将作为导航栏的替代品:

2) 这就是 Facebook 达到最高标准的方式吗?

3) 如果我可以使用工具栏而不是导航栏,我会在工具栏与“状态栏”重叠的顶部有一个小空间 - 我应该如何解决这个问题? - - 在带有嵌入式工具栏的位置放置一个 UIView 是否是解决此问题的正确方法?

非常感谢您的所有帮助/评论/指导

最佳答案

您不必显示导航栏,它可以隐藏(参见 setNavigationBarHidden:animated:)。您可以改用 UIToolbar,但有很多选项可用于自定义导航栏。

您可以将 leftBarButtonItemtitleViewrightBarButtonItem 设置为在 UINavigationController class reference 中指定的自定义 View .这些属性采用 UIBarButtonItem 但不一定是按钮。您可以使用 initWithCustomView: 创建一个 UIBarButtonItem,以使用任何 UIView 创建一个 UIBarButtonItem。它可以是具有多个按钮的 UIView 作为 subview 或搜索栏或分段控件或您需要的任何 View ,只要它们适合且不违反 HIG。您可以使用导航栏上的 3 个自定义 View 中的任何一个来做到这一点。

关于iOS 导航栏 VS UIToolBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572634/

相关文章:

ios - 为什么 iPhone 6 使用 @2x 图像资源?

ios - 在保持背景动态的同时向 View 添加动画模糊

ios - 显示前加载ViewController的WebView

ios - 如何放大或缩小 uipageviewcontroller?

ios - Firebase 云消息传递未收到通知 (iOS)

IOS/objective-C : UIActivityItemSource Protocol for customizing share messages with UIActivityViewController

ios - JSON序列化歌曲信息

ios - 如何在另一个 View 上方显示 PickerView

ios - 在 UIView.animateWithDuration 的完成 block 中添加 View

ios - 以编程方式设置约束