对我来说,我使用了一个自定义单元格,分隔线占据整个宽度,但我想要默认样式,较短的样式,其中分隔线不显示在单元格图标图像下。我希望它始终与我的单元格标签领先位置保持一致,例如 iPhone 的设置。
我在 tableView 单元格文件中编写了以下代码以实现该效果。
override func layoutSubviews() {
super.layoutSubviews()
let g = contentView
NSLayoutConstraint.activate([
iconContainer.centerYAnchor.constraint(equalTo: g.centerYAnchor),
iconContainer.leadingAnchor.constraint(equalTo: g.leadingAnchor, constant: 20),
iconContainer.widthAnchor.constraint(equalTo: g.heightAnchor, constant: -12),
iconContainer.heightAnchor.constraint(equalTo: iconContainer.widthAnchor),
iconImageView.centerXAnchor.constraint(equalTo: iconContainer.centerXAnchor),
iconImageView.centerYAnchor.constraint(equalTo: iconContainer.centerYAnchor),
iconImageView.widthAnchor.constraint(equalTo: iconContainer.widthAnchor, constant: -10),
iconImageView.heightAnchor.constraint(equalTo: iconImageView.widthAnchor),
label.leadingAnchor.constraint(equalTo: iconContainer.trailingAnchor, constant: 20),
label.trailingAnchor.constraint(equalTo: g.trailingAnchor, constant: -20),
label.centerYAnchor.constraint(equalTo: g.centerYAnchor)
])
separatorInset = UIEdgeInsets(top: 0,
left: 40 + iconContainer.frame.size.width,
bottom: 0,
right: 0)
}