【问题标题】:manually add UITabBar to UITableViewController手动将 UITabBar 添加到 UITableViewController
【发布时间】:2011-05-08 21:29:46
【问题描述】:

我有一个标准应用程序,它带有一个导航控制器,用于管理多个 UITableViewController 类。

我想在根视图(一个 UITableViewController)中添加一个 UITabBar 来管理过滤 UITableView 中显示的对象的选择。

我不想要/不需要 UITabBarController。 UITabBar 仅用于功能和 UI(单选按钮样式选择和熟悉的标签栏 UI)。我只想手动创建一个 UITabBar 并将其添加到我的视图中,锚定/锁定到屏幕的最底部,就像使用 UITabBarControllers 时的情况一样。

我的主要问题是我不知道应该添加什么 UITabBar 作为子视图。

我不想将它添加到控制器 self.tableView 中,因为那样它会锚定在滚动 TableView 的底部,并且并不总是在屏幕底部可见。

我也尝试添加到 view.tableView.superview,但似乎效果不佳。

任何帮助,还是我完全在“以错误的方式过滤 tableview 数据”并且应该改用其他东西?

【问题讨论】:

    标签: iphone objective-c uitableview uitabbar


    【解决方案1】:

    所以,UITableViewController 的问题在于它并不像您预期​​的那样工作。将“锁定”元素添加到 UITableView 是非常困难的 - 表格页脚和标题不起作用,而且您发现将其添加到超级视图不起作用。

    在这种情况下最好的解决方案实际上是将表格视图控制器扔出窗口,并使用带有普通视图控制器的表格视图。

    你要做的是创建一个普通的UIViewController,然后给它添加一个表格视图。您的表视图委托和数据源也可以在此视图控制器中。

    然后您可以将表格视图的大小调整为小于屏幕的大小,并将您的UITabBar 添加到视图控制器的主视图中。

    【讨论】:

    • 好的,这是有道理的。让我问一下是否有替代使用 UITabBar 来做我想做的事情。尝试使 UIToolbar 模仿 UITabBar (视觉上),然后我可以将其用作 UITableView 的工具栏,是否值得麻烦?我不反对以编程方式创建一个普通的 UIViewController,只是好奇
    • 我猜你可以。您需要一些技巧/黑客才能使您的工具栏看起来与标签栏完全一样 - 标签栏比工具栏高约 6 像素,您还需要重新实现您免费获得的所有逻辑一个标签栏。但这肯定是一种方法。
    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 2012-01-17
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多