将工具栏直接放在导航控制器下,而不隐藏工具栏下方的内容

时间:2012-07-29 14:41:21

标签: objective-c ios xcode

我正在尝试将工具栏直接放在导航栏下方,但我需要工具栏才能隐藏其正下方视图中的内容。我的快速解决方案是将导航控制器的本机工具栏设置为可见,它可以正常调整其下方的视图大小,以便它不会让任何东西隐藏在它后面,但默认工具栏显示在屏幕的底部。

我需要它在导航栏的顶部。我认为简单的解决方案是更改默认工具栏的框架(我不知道该怎么做)或者将工具栏的新实例定位到视图上(它可以工作,但它隐藏了它下面的内容)但是让它调整下面的观点。

请参阅下面我发现的图片,看看我正在尝试做什么。 (注意tableview的第一行是如何在标签栏下面开始的)

enter image description here

感谢!!!

2 个答案:

答案 0 :(得分:0)

你混淆了两件事。 NavigationController工具栏属性是底栏,您添加到视图的任何工具栏都与导航控制器无关,但是该视图的属性。

如果您在视图顶部有自己的工具栏,则需要将其余视图内容向下移动,或将该工具栏设置为半透明,如果这就是您要查找的内容。

再次,导航控制器工具栏始终是底栏,您在IB中放置的工具栏只是该视图的工具栏,您可以放在任何位置。

答案 1 :(得分:0)

我不相信你可以改变默认工具栏的框架。您需要创建自己的工具栏实例,将其放置在导航栏的底部,并调整tableView的大小以适应下方。 我们无法看到您如何设置视图,但如果您从一个子视图为UITableViewController的视图开始,那么您将无法做到这一点。你想要的是从一个UIViewController作为主控制器开始,添加一个tableview和工具栏作为子视图。然后根据需要定位和调整它们的大小。

如果您隐藏并显示工具栏,您将创建一个方法,在导航控制器下将其向上移动,然后再次调整tableview的大小。