如何添加一个TableViewController
上方的UIView我想显示的UIView上面我的tableview,用于测试目的我使用了一个搜索栏(以消除我的代码任何可能的问题)。如何添加一个TableViewController
我的设置:
标签栏控制器
MyCustomTableViewController
查看
的TableView(自定义单元格高度)
搜索栏
我已经定位在 “窗口” 的顶部的搜索栏,并推倒了实现代码如下,以便它位于搜索栏的正下方。
所以在IB中,一切看起来都很棒。
但是当我启动应用程序的实现代码如下占据整个屏幕,搜索栏是无处可寻。
我是很新的IPhone发展,有可能是一个非常简单的解决办法(?)。
/吉米
真正简单的解决方案是:
- 创建一个实现
UITableViewDelegate
和UITableViewDataSource
就像UITableViewController
做一个自定义的UIViewController子类。还添加一个UITableView
插座。 - 在XIB文件,把你的搜索栏和
UITableView
视图控制器的视图中。 - 连接表视图的
tableView
出口在自定义UIViewController
- 的
UITableView
的委托和数据源连接到文件的所有者(自定义UIViewController
实现正确的代表)
您现在有一个自定义视图控制器,其工作原理与UITableViewController
一样,除非您完全控制其布局。您以相同的方式实施代表。
如果你MyCustomTableViewController实际上是一个UITableViewController,那么你就在IB注意到,“意见”的出口直接指向您的UITableView,而不是在IB根的UIView。这是UITableViewController对象的默认行为。只需将“查看”插口重定向到根UIView,并且所有内容都应该正确显示。
MyCustomTableViewController是的UITableViewController derrived,因为我希望tableview中包含定制单元的一类。 似乎我的MyCustomTableViewController上缺少“View”插座,关于为什么以及如何恢复它的任何想法? – 2010-02-15 10:58:47
呃没有。'UITableViewController'期望视图指向一个'UITableView',如果将其改为指向某种其他类型的视图,它将完全失败。 – 2010-02-15 15:25:46
当然。我忘记了我通常将UITableViewController的超类更改为UIViewController。这样我就不必在表视图中编写代表/数据源方法。 – 2010-02-15 18:38:15
工作就像一个魅力=)。 (澄清:“在XIB文件中”是你放置你的自定义UIView而不是自定义UIView的XIB的地方,因为我首先想到) 谢谢 – 2010-02-15 18:08:35