我应该在哪里添加我的子视图以使其位于 UITableViewController 中的表视图下?
Posted
技术标签:
【中文标题】我应该在哪里添加我的子视图以使其位于 UITableViewController 中的表视图下?【英文标题】:Where should I add my subview to have it UNDER my table view in a UITableViewController? 【发布时间】:2014-09-15 19:19:53 【问题描述】:我正在使用 parse 的 PFQueryTableViewController
,它几乎与 UITableViewController
完全相同,只是它在后台处理一些查询。
我的目标是在屏幕底部放置一个静态工具栏。我决定通过给tableView
一个较小的框架来做到这一点,并在tableView
下方创建和添加我的工具栏子视图,作为tableView
是其子视图的同一视图的子视图。
这是一张照片。我正在尝试将我的工具栏添加到屏幕底部的小空白处。该空白不随表格视图滚动:
我试过[self.view addSubview: toolbar]
,但是,这只是将它添加到tableView,结果,我的工具栏会随之滚动。我似乎找不到关于 UITableViewController 的视图层次结构的任何文档。任何人都知道我应该在哪里添加我的工具栏子视图?我还应该提到,所有这些都位于UINavigationController
中。
【问题讨论】:
Footerview 将是最好的地方 【参考方案1】:PFQueryTableViewController
(与所有UITableViewController
s 一样)有一个表视图作为其view
。
如果您想在视图控制器中拥有其他视图,请不要使用表格视图控制器,或者子类UINavigationController
。
或者,您可以设置视图控制器的toolbarItems
属性,导航控制器将负责制作和配置标准工具栏。
【讨论】:
【参考方案2】:实现UITableView的viewFAorHeaderInSection委托方法:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 90)];
customView.backgroundColor = [UIColor blackColor];
return customView;
和 heightForFooterInSection
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
return 80;
它应该可以解决您的问题。
【讨论】:
以上是关于我应该在哪里添加我的子视图以使其位于 UITableViewController 中的表视图下?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我必须删除为 UITableViewCell 添加的子视图,而不是在 UITableViewCell 的子类中?