iOS - 如何设置视图宽度等于 TableView 分隔符宽度

Posted

技术标签:

【中文标题】iOS - 如何设置视图宽度等于 TableView 分隔符宽度【英文标题】:iOS - How to set View width equal to TableView Separator width 【发布时间】:2015-12-24 03:37:36 【问题描述】:

我是 ios 新手。我在顶部有一个View(宽度为1 px 高度),在View 下方有一个UITableView

现在,View 的前后约束是 10 我尝试为 TableView 设置分隔符插入,其值为 Left 为 10,Right 为 10,但效果不佳(视图宽度不等于 TableView 分隔符宽度)。

我想将View 的宽度设置为等于UITableView Separator 的宽度。 我应该怎么做才能实现它?任何帮助将不胜感激

【问题讨论】:

你的tableViewsuper view 的约束leadingtrailing 怎么样? 你的tableView与super view的约束前后为0 ***.com/questions/25762723/… 参考这个答案 确实如此。您可以查询单元格的layoutMargins 并使用它们相应地计算视图的大小和位置。 【参考方案1】:

试试这个,您可以通过添加以下方法在自定义 tableviewCell 类中设置分隔符插入,

- (UIEdgeInsets)layoutMargins

    return UIEdgeInsetsMake(0, 10, 0, 10);

然后将视图的前导和尾随约束设置为 10 像素。

【讨论】:

与其更改页边距,不如阅读它们并将他的黄色视图调整为这些值(毕竟这是他所要求的)。 仍然是一个好的方向。 此外,Apple 建议不要更改分隔符边距。【参考方案2】:

我认为它与margin 属性有关。确保您在设置约束时已经像这样取消选中此选项

还有这个:

controller 中设置separatorinset

self.tableView.separatorInset = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10)

希望对您有所帮助!

【讨论】:

以上是关于iOS - 如何设置视图宽度等于 TableView 分隔符宽度的主要内容,如果未能解决你的问题,请参考以下文章

调整列表视图大小时如何设置标题宽度等于其列表视图控件宽度?

iOS自动布局:设置尾随空间等于superview的宽度

如何设置约束,以使视图的宽度至少等于某个宽度时为0

设置根视图宽度等于动态标签的宽度

如何设置宽度等于android上的另一个小部件

视图宽度不等于单元格宽度 inseide uitable?