在RootController上调整UITableView的大小

时间:2009-03-18 04:45:49

标签: iphone cocoa-touch uitableview uitoolbar

是否可以在基于导航的应用的RootController上调整UITableView的大小?在IB中打开RootViewController.xib时,没有视图。只是UITableView。单击检查器,然后单击小黄色标尺,框架高度显示为灰色。我正在以编程方式向RootViewController添加工具栏:

[toolbar setFrame:rectArea];

工作正常,但tableview中的底部单元格部分隐藏,因为tableview不知道工具栏。

5 个答案:

答案 0 :(得分:10)

最简单的方法是调整contentInset(继承自UIScrollView)。通过设置框架来调整大小可能会导致细胞中出现疯狂的绘图错误。

例如,如果您尝试调整键盘的tableview大小,请执行以下操作:

tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, 216.0, 0.0);
tableView.scrollIndicatorInsets = tableView.contentInset;

希望有人帮助。这种方式对我来说效果最好。

答案 1 :(得分:6)

是的,但你需要一个ViewController(不是UITableViewController)作为nav的根控制器,并将实际的UITableView包装在UIViewControllers视图中。

您仍然可以让UIViewController符合UITableViewDelgate和Datasource协议,并使用UITableViewController中现有的所有相同方法。

P.S。如果您使用简单的“iphone”标签,您将获得更多回复。

答案 2 :(得分:1)

您也可以设置tableview的内容和滚动条插图

答案 3 :(得分:0)

尝试自行显示详细信息控制器时遇到类似问题,请参阅:http://vimeo.com/13054813

问题在于,SplitView控制器将自己的变换应用于子控制器,将它们从方向检测循环中取出,这会使山羊受到打击,对内置类来说似乎非常“苛刻”。 (该视频说明了当您将详细信息视图设置为根视图时会发生什么,然后将其添加回拆分视图并在横向视图中生成拆分视图根;您将获得详细视图的双重旋转。)

不幸的是,在尝试调整SplitViewController的详细子视图以响应键盘出现/消失时,我再次遇到这些转换问题。在肖像方面,一切都很好,在风景中它是fscked。

答案 4 :(得分:0)

是的,调整contentInset和scrollIndicatorInsets是调整UITableView大小的便捷方法。 随着answerSam Soffes发布,我成功调整了UITableViewController中UITableView的底部UIToolbar。