2011-05-08 62 views
2

我有一个标准的应用程序与管理多个UITableViewController类的导航控制器。手动添加UITabBar到UITableViewController

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

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

我的主要问题是我无法弄清楚我应该将UITabBar作为子视图添加。

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

我也尝试添加到view.tableView.superview,但似乎没有工作。

任何帮助,或者我完全是这样“过滤tableview数据的方式是错误的”,而应该使用别的东西呢?

回答

7

所以,UITableViewController的问题是它不像你所期望的那样工作。向UITableView添加'锁定'元素非常困难 - 表格页脚和页眉不能完成这项工作,并且您发现将它添加到超级视图不起作用。

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

你想要做的是创建一个正常的UIViewController,然后添加一个表视图。你的表视图委托和数据源也可以在这个视图控制器中。

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

+0

好的,这是有道理的。让我问是否有使用UITabBar做我想做的选择。是否值得尝试使UIToolbar模仿UITabBar(可视化),然后我可以用它作为UITableView的工具栏? 我不反对以编程方式创建一个普通的UIViewController,只是好奇 – cpjolicoeur 2011-05-08 22:22:33

+0

我想你可以。你需要一点点欺骗手段才能让你的工具栏看起来像一个标签栏 - 一个标签栏比一个工具栏高6个像素,你还需要重新实现所有免费获得的逻辑一个标签栏。但它肯定会是一种方法。 – lxt 2011-05-09 09:45:18