3

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

[toolbar setFrame:rectArea];

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

4

5 回答 5

10

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

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

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

希望对某人有所帮助。这种方式最适合我。

于 2010-03-11T20:27:33.080 回答
6

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

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

PS如果你使用普通的“iphone”标签,你会得到更多的回应。

于 2009-03-18T06:47:53.813 回答
1

您也可以只设置 tableview 的 Content 和 Scroller inset

于 2009-09-08T21:22:28.120 回答
0

我在尝试单独显示详细控制器时遇到了类似的问题,请参阅:http: //vimeo.com/13054813

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

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

于 2010-07-08T03:24:38.337 回答
0

是的,调整 contentInset 和 scrollIndicatorInsets 是调整 UITableView 大小的便捷方式。作为Sam Soffes的回答,我成功地在 UITableViewController 中为底部 UIToolbar 调整了 UITableView 的大小。

于 2010-11-10T15:33:55.440 回答