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