TableView ContentInset不会缩小单元格宽度/向TableView内容添加水平填充

时间:2014-07-22 08:34:23

标签: ios objective-c uitableview ios7 padding

我希望UITableView全屏显示。但是UITableView的内容应该在左侧和右侧有一个填充。

所以我尝试设置ContentInset。但现在单元格与UITableViewUITableView水平滚动一样宽。

有没有办法说UITableView内容的宽度应该被水平内容插入缩小?或者我是否必须将填充添加到所有单元格和页眉/页脚视图?

我不想缩小桌面视图本身,因为滚动指示器应该停留在屏幕的右侧而不是中间。 这里(How to set the width of a cell in a UITableView in grouped style)建议的解决方案似乎不像我喜欢的那样通用,因为小区和页眉和页脚视图必须知道填充(至少有3个地方要维护而不是一个)

3 个答案:

答案 0 :(得分:3)

  

我不想缩小表格视图本身,因为滚动   指示器应保持在屏幕的右侧而不是在屏幕的右侧   中间。

这会让你开心吗?

_tableView.clipsToBounds = NO;
_tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 0, -30.f);

如果您不喜欢clipsToBounds = NO效果,可以将tableView嵌入容器视图clipsToBounds = YES

答案 1 :(得分:1)

设置表格视图的布局边距。为此,请确保相对于超级视图边距设置单元格中的约束。

tableView.layoutMargins = UIEdgeInsets(top: 0, left: 40, bottom: 0, right: 40)

enter image description here

答案 2 :(得分:-1)

我遇到了同样的问题,我尝试将单元格的内容移至权限,以便在设置Content Inset的情况下在左侧留一个空格。

问题是表格视图可以水平滚动。

解决此问题的最简单方法是设置layoutMargins而不是contentInset