当前位置: 首页 > 知识库问答 >
问题:

iOS UITableView隐藏标题空间

蒯慈
2023-03-14

在视图控制器中,我只有一个UITableView。在IB中,我制作了标题

-(CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
CGFloat height = 0.0001;
return height;
}

-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
CGFloat height = 0.0001;
return height;
}

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
// Create Empty View
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width,
                                                        [self tableView:self.visitorlistsTv heightForHeaderInSection:section]) ];
return view;
}

-(UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
// Create Empty View
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width,
                                                        [self tableView:self.visitorlistsTv heightForFooterInSection:section]) ];
return view;

}

使用上述代码,页脚部分被隐藏。但是不能把标题也隐藏起来。

查看解决方案的其他链接,我还在视图中添加了TableView,向TableView添加了约束,但标题部分仍然是它们的。

我哪里做错了?如何摆脱它?

共有3个答案

邵昆琦
2023-03-14

在我看来,这里的问题是,在您的视图中,您根本不需要页眉/页脚。如果是这种情况,您不希望在页眉/页脚中返回任何视图。我建议要么在view中返回nil,要么不完全实现这些函数——它们是可选的。

吕翰飞
2023-03-14

我有另一个解决方案(在iOS 10上检查),对我来说,接受的解决方案不起作用。

在我的例子中,我有可变高度的部分标题,所以第一部分返回0高度是不可接受的。我使用分组表样式,因为我也需要分隔符来框定节标题。

解决方案:确保代码中没有类似的内容:

self.table.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

我用这个来删除空行的分隔符,但是分组样式不是必需的。

我知道这不会对你们所有人都适用,但它可能会对我这种情况的人有所帮助。

盛承
2023-03-14

如果您试图删除UITableView上方的空格,请尝试更改其contentInset属性,而不是制作高度较小的自定义标题:

self.tableView.contentInset = UIEdgeInsetsMake(-20.0f, 0.0f, 0.0f, 0.0f);

您可能需要调整第一个数字以将其调整到特定的视图场景。

请理解,这也是一种变通方法(源代码),但它比创建自定义表视图标题更干净。

 类似资料:
  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容:

  • 问题内容: 有没有办法隐藏标签栏并删除剩余空间(大约50像素)? 我试过了 没运气。我看到空白。 问题答案: 如果您在隐藏的标签栏下仍看到黑色条纹,是否尝试 在 此处选择 “在不透明的条下延伸边缘” ? 还要确保仍然选择 “底部栏” 。希望能帮助到你!

  • Since 8.6 hideTitleLoading 隐藏标题栏loading 使用方法 AlipayJSBridge.call('hideTitleLoading'); 代码演示 显示/隐藏全局loading框 <h1>点击下面按钮查看效果</h1> <a href="javascript:void(0)" class="btn show">显示loading</a> <a href="jav

  • 本文向大家介绍Android实现隐藏状态栏和标题栏,包括了Android实现隐藏状态栏和标题栏的使用技巧和注意事项,需要的朋友参考一下 隐藏标题栏需要使用预定义样式:android:theme=”@android:style/Theme.NoTitleBar”. 隐藏状态栏:android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”. 以上

  • 我正在使用JasperReports 4.5.0生成报告。我正在生成不同格式的报告,如html、csv、pdf、xls、doc。在我的一份报告中,我有6列,分别是col1、col2、col3、col4、col5、col6。但根据情况,我想把col4藏起来。为此,我使用了printWhenExpression。现在它根据条件隐藏列,但问题是该列占用的空间保持不变。 我怎样才能去掉col3和col5之

  • 我有以下div元素: 然后我在一个元素上有一个点击功能来隐藏上面的div: 当我隐藏div时,它会塌陷,不再占用空间。这弄乱了我的页面布局。 有没有办法隐藏div,但仍然保持它之前占用的空间?我不想改变字体颜色,因为它仍然是可选择的。