iOS-Swift中UITableViewCells的左右边距
我有一个分组样式的动态表视图,在单独的NIB中有不同的自定义单元格,然后我在viewDidLoad中注册这些单元格,并相应地将它们添加到表视图中。在故事板中,我在原型单元格下添加了一个uiview作为我的页脚,里面有一个按钮。现在,因为我的单元格有边框,所以我希望有一个左右边距,但不是针对整个tableView,而是针对单元格。我确实使用了以下代码:iOS-Swift中UITableViewCells的左右边距,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个分组样式的动态表视图,在单独的NIB中有不同的自定义单元格,然后我在viewDidLoad中注册这些单元格,并相应地将它们添加到表视图中。在故事板中,我在原型单元格下添加了一个uiview作为我的页脚,里面有一个按钮。现在,因为我的单元格有边框,所以我希望有一个左右边距,但不是针对整个tableView,而是针对单元格。我确实使用了以下代码: self.tableView.contentInset = UIEdgeInsetsMake(0, 10, 0, 10); 但是这样做,我的页脚
self.tableView.contentInset = UIEdgeInsetsMake(0, 10, 0, 10);
但是这样做,我的页脚不再有屏幕的宽度了
我在网上查了一下,发现有些人用这个:
import UIKit
class MyTableViewCell: UITableViewCell {
override func layoutSubviews() {
super.layoutSubviews()
contentView.frame = UIEdgeInsetsInsetRect(contentView.frame, UIEdgeInsetsMake(0, 16, 0, 16))
}
}
但这没什么用
请注意,viewForHeaderinSection和viewForFooterInSection用于我的应用程序。有什么建议吗。谢谢您以备将来参考这是我如何修复它的:
override var frame: CGRect {
get {
return super.frame
}
set {
var frame = newValue
frame.origin.x += 25
frame.size.width -= 2 * 25
super.frame = frame
}
}
由于您可以使用方法来设置contentInset.import UIKit类MyTableViewCell:UITableViewCell{override func layoutSubviews(){super.layoutSubviews()contentView.frame=UIEdgeInSetSetRect(contentView.frame,UIEdgeInSetMake(0,16,0,16))}您将看不到应用的边距,因为在“内容”视图下有表格单元格的背景视图。因此,它会阻止边距,因为默认情况下边距为白色,所以它应该是透明的。将单元格的背景色设置为透明(透明色)@ChiragKothiya您的意思是:
self.tableView.contentInset=UIEdgeInsetsMake(0,10,0,10)
。我确实这样做了,但正如我所说的,页脚也有边距,我不想这样做that@Vinaykrishnan我做到了,但什么也没发生:(