Swift 如何在tableView中设置单元格的边距?

Swift 如何在tableView中设置单元格的边距?,swift,uitableview,Swift,Uitableview,我尝试在TableView中为某个单元格设置边距,代码如下: cell.layoutMargin.left = 20 然而,当我启动应用程序时,它在外观上没有任何改变。有什么方法可以实现这一点吗?要使页边距在任何UIView中生效,任何约束都必须选中“约束到页边距”。否则,边距将不会更改superview上任何子视图的约束 如果您正在使用Swift添加约束,下面是一个添加相对于苹果利润率的约束的示例。关键部分是: // Get the superview's layout let margi

我尝试在TableView中为某个单元格设置边距,代码如下:

cell.layoutMargin.left = 20

然而,当我启动应用程序时,它在外观上没有任何改变。有什么方法可以实现这一点吗?

要使页边距在任何UIView中生效,任何约束都必须选中“约束到页边距”。否则,边距将不会更改superview上任何子视图的约束

如果您正在使用Swift添加约束,下面是一个添加相对于苹果利润率的约束的示例。关键部分是:

// Get the superview's layout
let margins = view.layoutMarginsGuide

// Pin the leading edge of myView to the margin's leading edge
myView.leadingAnchor.constraint(equalTo: margins.leadingAnchor).isActive = true
确保视图正在更新,并且对UIView所做的任何更改都来自主线程


为了给出更全面的答案,需要更多关于当前自动布局设置的数据。

在得到同事的帮助后,我找到了解决此问题的方法或替代方案,我们所做的是为约束创建一个IBOutlet(我刚刚发现)。因此,在UITableviewCell类中,我添加了以下代码行:

@IBOutlet var boxLeadingContraint: NSLayoutConstraint!
在UITableView中,我设置指定单元格的边距,如下所示:

cell.boxLeadingContraint.constant = 10

注意:我是在单元格内部的UIImageView上执行此操作的,而不是在单元格本身上。任何反馈或建议都将不胜感激。

您能否确认您添加的内容是否具有与页边相关的约束?您的tableView是静态的还是动态的?它在Swift 4中是动态的@XcoderUpdate:cell.layoutMargins.left=20