我正在使用UITableView
来布局内容“页面”。我正在使用表视图的标题来布局某些图像等,我希望它们不是浮动的,而是像样式设置为UITableViewStyleGrouped
时那样保持不变。
除了使用UITableViewStyleGrouped
之外,还有什么方法可以做到这一点吗?我希望避免使用grouped,因为它会在我所有的单元格中添加边距,并且需要禁用每个单元格的背景视图。我想要完全控制我的布局。理想情况下,它们应该是"UITableViewStyleBareBones",但我在文档中没有看到这个选项...
非常感谢,
发布于 2009-07-02 12:38:59
您应该能够通过使用自定义单元格来做标题行来伪造这一点。然后,这些单元格将像表格视图中的任何其他单元格一样滚动。
您只需要在cellForRowAtIndexPath
中添加一些逻辑,以便在它是标题行时返回正确的单元格类型。
不过,你可能不得不自己管理你的部分,比如把所有东西都放在一个部分中,并伪造标题。(您也可以尝试返回标题视图的隐藏视图,但我不知道这是否有效)
发布于 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)
区段标题现在可以像任何常规单元格一样滚动。
发布于 2014-10-11 02:56:21
(对于那些曾经因为错误的表格样式而来到这里的人)通过属性检查器或代码将表格样式从普通更改为分组:
let tableView = UITableView(frame: .zero, style: .grouped)
https://stackoverflow.com/questions/1074006
复制相似问题