2012-07-03 46 views
1

我试图实现在桌面视图顶部显示工具栏。我正在为故事板iOS5工作,我需要一个工具栏,因为它需要通过导航控制器不允许我做的方式进行自定义。 下图显示了我想要达到的目标:在桌面视图顶部的工具栏

Objective

左右的白色箭头是什么,我想我不能使用navigationcontroller的实现。现在我需要显示所有东西(屏幕截图来自iPhone模拟器),但我的问题是,工具栏会随着表格滚动,我希望它保持在最前面。我想这是因为我在故事板上连接了一些东西。接下来的图像显示的是什么观点看起来像故事板的快照:

Outline

该控制器的UITableViewController的子类。工具栏在tableview里面,因为StoryBoard编辑器不允许我把它放在其他地方。

我试图从故事板创建一个新的通用视图控制器,放下一个工具栏和一个tableview,然后将控制器的类型设置为我的自定义UITableViewController。然后,故事板允许我将工具栏放在顶部,然后是桌面视图。问题是,当我运行这个版本的程序终止与

libc++abi.dylib: terminate called throwing an exception 

所以现在我不知道该怎么做。有什么办法可以让工具栏保持在最前?我能用导航控制器(使用故事板)完成我的目标,从而使事情变得更简单吗?

任何帮助将不胜感激。谢谢。

回答

2

取决于您希望如何表现,固定或滚动。您可以添加子视图到

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 44, 320, toolbarHeight)]; 
[self.navigationController.navigationBar addSubview:myView] 

在'myView'中,您可以添加所需的所有按钮。然后,您可以将第一个单元格留空。

+0

我同意,在您的导航栏中添加自定义视图是我认为的方式。 – svena

+0

“将子视图添加到”...哪里? –

+1

好的,我看到了代码。向导航控制器添加一个子视图。 我终于采取了添加navigationController和子视图的路径。它工作得很好。 –

1

而不是使用TableViewController我会从一个简单的ViewController开始,然后添加一个TableView和一个工具栏。这将需要更多的代码,但我没有看到任何“模板”控制器如何让你做你想做的。

相关问题