首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以使用UITableViewStylePlain禁用UITableView中的浮动标头?

是否可以使用UITableViewStylePlain禁用UITableView中的浮动标头?
EN

Stack Overflow用户
提问于 2009-07-02 20:09:19
回答 24查看 131.2K关注 0票数 201

我正在使用UITableView来布局内容“页面”。我正在使用表视图的标题来布局某些图像等,我希望它们不是浮动的,而是像样式设置为UITableViewStyleGrouped时那样保持不变。

除了使用UITableViewStyleGrouped之外,还有什么方法可以做到这一点吗?我希望避免使用grouped,因为它会在我所有的单元格中添加边距,并且需要禁用每个单元格的背景视图。我想要完全控制我的布局。理想情况下,它们应该是"UITableViewStyleBareBones",但我在文档中没有看到这个选项...

非常感谢,

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2009-07-02 12:38:59

您应该能够通过使用自定义单元格来做标题行来伪造这一点。然后,这些单元格将像表格视图中的任何其他单元格一样滚动。

您只需要在cellForRowAtIndexPath中添加一些逻辑,以便在它是标题行时返回正确的单元格类型。

不过,你可能不得不自己管理你的部分,比如把所有东西都放在一个部分中,并伪造标题。(您也可以尝试返回标题视图的隐藏视图,但我不知道这是否有效)

票数 26
EN

Stack Overflow用户

发布于 2010-11-28 14:26:09

一个可能更简单的方法来实现这一点:

Objective-C:

CGFloat dummyViewHeight = 40;
UIView *dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, dummyViewHeight)];
self.tableView.tableHeaderView = dummyView;
self.tableView.contentInset = UIEdgeInsetsMake(-dummyViewHeight, 0, 0, 0);

Swift:

let dummyViewHeight = CGFloat(40)
self.tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.bounds.size.width, height: dummyViewHeight))
self.tableView.contentInset = UIEdgeInsets(top: -dummyViewHeight, left: 0, bottom: 0, right: 0)

区段标题现在可以像任何常规单元格一样滚动。

票数 361
EN

Stack Overflow用户

发布于 2014-10-11 02:56:21

(对于那些曾经因为错误的表格样式而来到这里的人)通过属性检查器或代码将表格样式从普通更改为分组:

let tableView = UITableView(frame: .zero, style: .grouped)
票数 288
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1074006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档