UITableView重叠的自定义标题视图

时间:2014-04-24 07:33:27

标签: ios xcode uitableview

在界面构建器中,我的UITableView上方有一个标题视图,但是在模拟器中它缺失了,并且表视图似乎已经覆盖了它,因为它占用了大部分屏幕。有什么理由吗?解决?

界面生成器

enter image description here

模拟器

enter image description here

2 个答案:

答案 0 :(得分:0)

在你的情况下:

从界面构建器图像中我可以看到表视图是视图的子视图,而标题视图也是tableview的子视图。它发生的原因是tableview隐藏了标题视图。如果您将标题视图添加为tableview的子视图,则会出现。但是添加子视图不会解决您的问题,因为当您滚动tableview时,子视图将会消失。

为了解决您的问题,我可以看到您在表格视图中有一个导航栏,您可以将标题视图添加为UINavigationBar的子视图。

[self.navigationController.view addSubview:headerView];

良好做法:

设置部分的标题视图。然后,您不需要在tableview的顶部设置任何自定义视图。试试这个:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *aView = [[UIView alloc] init];
    //Customize the view according to our requirment
    return aView;
}

同时实现这个:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 44.f; // Make this height as you need. Or else you may not see the full view.
}

顺便说一句,您可以创建UITableViewController的子类而不是UIViewController。 希望这有助于.. :))

答案 1 :(得分:0)

取消选择“延伸边缘/在顶栏下

enter image description here