在界面构建器中,我的UITableView上方有一个标题视图,但是在模拟器中它缺失了,并且表视图似乎已经覆盖了它,因为它占用了大部分屏幕。有什么理由吗?解决?
界面生成器
模拟器
答案 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)
取消选择“延伸边缘/在顶栏下
”