【问题标题】:Toolbar on top of tableview表格视图顶部的工具栏
【发布时间】:2012-07-04 02:59:40
【问题描述】:

我正在尝试实现在 tableview 顶部显示工具栏。我正在为带有故事板的 iOS5 工作我需要一个工具栏,因为它需要以导航控制器不允许我这样做的方式进行自定义。 下图显示了我想要实现的目标:

左右白色箭头是我认为使用导航控制器无法实现的。现在我必须显示所有内容(屏幕截图来自 iphone 模拟器),但我的问题是工具栏随表格滚动,我希望它保持在顶部。我认为这是因为我在故事板中连接事物的方式。下一张图片显示了故事板中视图的快照:

控制器是 UITableViewController 的子类。工具栏位于 tableview 内,因为 StoryBoard 编辑器不允许我将其放在其他任何地方。

我尝试从情节提要创建一个新的通用视图控制器,放置一个工具栏和一个表格视图,然后将控制器的类型设置为我的自定义 UITableViewController。然后情节提要确实允许我将工具栏放在顶部,然后是表格视图。问题是当我运行这个版本时,程序会以一个

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

所以现在我不知道该怎么办。有什么办法可以让工具栏保持在顶部?我可以使用导航控制器(使用情节提要)实现我的目标,从而使事情变得更容易吗?

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

【问题讨论】:

    标签: uitableview ios5 uitoolbar uistoryboard


    【解决方案1】:

    取决于您的行为方式,静止或滚动。您可以将子视图添加到

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

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

    【讨论】:

    • 我同意,在您的导航栏中添加自定义视图是我认为的方法。
    • "将子视图添加到"...在哪里?
    • 好的,我看到代码了。向导航控制器添加子视图。我终于采取了添加navigationController和子视图的路径。效果很好。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多