Ios Swift:将NavigationBar添加或移动到视图控制器的底部

时间:2016-05-19 09:09:22

标签: ios swift uinavigationcontroller frame navigationbar

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

我试过了:

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

这是移动到底部但是隐藏了所有其他控制器对象,并且后退按钮也没有停止工作。

1 个答案:

答案 0 :(得分:5)

Sujay U N,

您不应该尝试将嵌入的UINavigationController提供的UINavigationBar移动到屏幕底部。试着这样就可以移动所有视图,使其隐藏起来。

解决方法

方法1:

考虑使用ToolBar:)

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

enter image description here

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

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

选择你的ViewController,选择它的TopBar属性将其设置为none :) enter image description here

方法2

使用UINavigationBar。

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

将UINavigationBar从组件库拖放到屏幕底部。将UIBarButtonItem拖放为leftBarButtonItem,将barButtonItem图像更改为后图像。 (与UIToolBar的过程相同,只需使用UINavigationBar)

enter image description here

理解这与嵌入的NavigationController提供的导航栏不同。所以摆脱ViewController顶部的NavigationBar,就像我在上面解释的那样

最后,

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

快乐编码:)