为啥即使在我将约束设置为 0 后 UITableView 上仍有余量

Posted

技术标签:

【中文标题】为啥即使在我将约束设置为 0 后 UITableView 上仍有余量【英文标题】:Why there is still margin on UITableView even after I set constrain to 0为什么即使在我将约束设置为 0 后 UITableView 上仍有余量 【发布时间】:2015-05-08 13:41:13 【问题描述】:

我刚买了一本书,正在学习用 Swift 编写 ios。我想创建一个像 snapchat 这样的表格视图列表:

然后我将 UITableView 的所有约束设置为0:

但是,表格的左边还有一个边距,为什么?

【问题讨论】:

可能重复***.com/questions/25762723/… 【参考方案1】:

点击UITableView后在界面生成器中搜索分隔符插入

并将其更改为自定义。现在您可以将 Left Inset 设置为 0

目标-C

viewDidLoad

[tableView setSeparatorInset:UIEdgeInsetsZero];

cellForRowAtIndexPath:中添加以下代码

if ([cell respondsToSelector:@selector(preservesSuperviewLayoutMargins)])
    cell.layoutMargins = UIEdgeInsetsZero;
    cell.preservesSuperviewLayoutMargins = false;

斯威夫特

if ([UITableView instancesRespondToSelector:@selector(setLayoutMargins:)]) 
    [[UITableView appearance] setLayoutMargins:UIEdgeInsetsZero];
    [[UITableViewCell appearance] setLayoutMargins:UIEdgeInsetsZero];
    [[UITableViewCell appearance] setPreservesSuperviewLayoutMargins:NO];

【讨论】:

【参考方案2】:

正如@Ashish Kakkad 所指出的,这是关于SeparatorInsets,我只是想在这里添加,您也可以在Storyboard 中设置它们,您不必在代码中执行此操作。

点击表格视图后在界面生成器中搜索分隔符插入

并将其更改为Custom。现在您可以将左插图设置为0

【讨论】:

也许只是在您的答案中包含我的屏幕以及 Ashish 以供此页面的未来访问者使用? 好的。然后我会将您的答案添加到我的答案中。谢谢!但不要删除你的答案。 @NilsZiehn

以上是关于为啥即使在我将约束设置为 0 后 UITableView 上仍有余量的主要内容,如果未能解决你的问题,请参考以下文章