【问题标题】:Ios Swift : Adding or Moving NavigationBar to bottom of the view controllerIos Swift:将 NavigationBar 添加或移动到视图控制器的底部
【发布时间】:2016-05-19 09:09:22
【问题描述】:

我想将导航控制器栏移动到视图控制器的底部。我怎样才能做到这一点?

我试过了:

self.navigationController!.navigationBar.frame = CGRectMake(
        0,
        UIScreen.mainScreen().bounds.height - 50,
        UIScreen.mainScreen().bounds.width,
        50)

这正在移动到底部,但隐藏所有其他控制器对象并且后退按钮也不起作用。

【问题讨论】:

  • 你在使用自动布局约束吗??
  • 我没有在导航栏上使用任何自动布局,它是从前一个屏幕嵌入的。我只在所有视图元素上使用自动布局

标签: ios swift uinavigationcontroller frame navigationbar


【解决方案1】:

苏杰联合国,

您不应该尝试将嵌入式 UINavigationController 提供的 UINavigationBar 移动到屏幕底部。尝试这样做会明显地移动其下方的所有视图,从而导致所有控制器对象隐藏。

解决方法

方法一:

考虑使用 ToolBar :)

工具栏设计为放置在屏幕底部。如果您使用的是 xib 或故事板,您可以从组件库中选择工具栏并将其放在 ViewController 的底部,然后正确应用自动调整大小的掩码或约束:)

现在为了显示后退按钮,请使用 UIBarButtonItems。将样式更改为自定义并提供箭头图像或提供默认样式。

尽管现在你已经准备好了 :) 你会注意到 UINavigationBar 在你的视图控制器的顶部。为了摆脱它,

选择您的 ViewController,选择其 TopBar 属性,将其设置为无 :)

方法 2

使用 UINavigationBar。

关于使用导航栏和不想使用工具栏的具体说明,你也可以用 UINavigationBar 做同样的事情。

将 UINavigationBar 从组件库中拖到屏幕底部。将 UIBarButtonItem 拖放为 leftBarButtonItem,将 barButtonItem 图像更改为您的背面图像。 (与 UIToolBar 相同的过程只是使用 UINavigationBar 代替)

明白这和内嵌的 NavigationController 提供的导航栏不一样。所以去掉 ViewController 顶部的 NavigationBar,就像我在上面解释的一样

最后,

在这两种情况下,从 barbutton 项绘制一个 IBoutlet 并以编程方式处理弹出 viewController。

编码愉快:)

【讨论】:

  • 非常感谢。真的帮了我
  • @sujay-u-n :很高兴知道它对您有所帮助 :) 请考虑接受或投票给答案,因为它对您有帮助 :)
  • 对不起,我是堆栈溢出的新手,所以我没有足够的声誉来投票。请投票我的问题,以便我获得更多声誉,一旦我有资格一定会投票......
猜你喜欢
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多