【问题标题】:iOS Navigation Bar VS UIToolBariOS 导航栏 VS UIToolBar
【发布时间】:2014-01-01 14:00:41
【问题描述】:

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

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

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

2) 这就是 Facebook 将如何达到他们的顶栏的方式吗?

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

非常感谢您的所有帮助/cmets/指南

【问题讨论】:

标签: ios uiview uiviewcontroller uinavigationcontroller uitoolbar


【解决方案1】:

1) 苹果会接受使用 UIToolBar 代替 Navigation 栏(带有自定义的“后退”按钮”,可以作为替代品 对于导航栏:

当面临“我是否应该通过解决规范并希望他们不介意”的决定时,我的建议是“不”。如果他们不接受,您是否愿意花时间将代码更改为符合规范?

2) Facebook 会这样实现他们的顶栏吗?

我不确定这是否可以回答。

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

我创建了一个带有工具栏和导航栏的应用程序。 See the screen shots (Review page) here. 工具栏位于顶部,导航栏下方。有一次,我添加了一项功能,可以在导航栏上点击隐藏/显示工具栏。但是自从更长的显示器问世以来,我已经将其删除了。只要显示屏提供他们需要的信息,大多数用户似乎并不介意顶部的额外小点击。

这有帮助吗?

【讨论】:

  • 确实如此,我希望我能接受所有三个答案 :) - 顺便说一句很棒的应用程序 - 谢谢
【解决方案2】:

1) 可能。我还没有看到或听说过 Apple 拒绝使用工具栏而不是导航控制器的应用程序的例子。但是,您可能会让审阅者因为这个原因决定拒绝您的应用程序。确实不可能确定,但​​不太可能。我会说我提交的应用看起来类似于带有导航控制器的应用,但顶部栏是自定义的,它被接受了。

2) Facebook 顶栏很可能是完全自定义的。可以看到,透明效果不同于标准导航栏的透明,布局也不像任何标准的苹果控件。

3) 将您的顶栏(无论您如何操作)与界面构建器(或代码)中的 topLayoutGuide 对齐。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多