【问题标题】:Where should I add my subview to have it UNDER my table view in a UITableViewController?我应该在哪里添加我的子视图以使其位于 UITableViewController 中的表视图下?
【发布时间】:2014-09-15 19:19:53
【问题描述】:

我正在使用 parse 的 PFQueryTableViewController,它几乎与 UITableViewController 完全相同,只是它在后台处理一些查询。

我的目标是在屏幕底部放置一个静态工具栏。我决定通过给tableView 一个较小的框架来做到这一点,并在tableView 下方创建和添加我的工具栏子视图,作为tableView 是其子视图的同一视图的子视图。

这是一张照片。我正在尝试将我的工具栏添加到屏幕底部的小空白处。该空白不随表格视图滚动:

我试过[self.view addSubview: toolbar],但是,这只是将它添加到tableView,结果,我的工具栏会随之滚动。我似乎找不到关于 UITableViewController 的视图层次结构的任何文档。任何人都知道我应该在哪里添加我的工具栏子视图?我还应该提到,所有这些都位于UINavigationController 中。

【问题讨论】:

  • Footerview 将是最好的地方

标签: ios objective-c iphone uitableview


【解决方案1】:

PFQueryTableViewController(与所有UITableViewControllers 一样)有一个表视图作为其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;
    }
    

    它应该可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2017-08-24
      相关资源
      最近更新 更多