Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-Swift中UITableViewCells的左右边距_Ios_Swift_Uitableview - Fatal编程技术网

iOS-Swift中UITableViewCells的左右边距

iOS-Swift中UITableViewCells的左右边距,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个分组样式的动态表视图,在单独的NIB中有不同的自定义单元格,然后我在viewDidLoad中注册这些单元格,并相应地将它们添加到表视图中。在故事板中,我在原型单元格下添加了一个uiview作为我的页脚,里面有一个按钮。现在,因为我的单元格有边框,所以我希望有一个左右边距,但不是针对整个tableView,而是针对单元格。我确实使用了以下代码: self.tableView.contentInset = UIEdgeInsetsMake(0, 10, 0, 10); 但是这样做,我的页脚

我有一个分组样式的动态表视图,在单独的NIB中有不同的自定义单元格,然后我在viewDidLoad中注册这些单元格,并相应地将它们添加到表视图中。在故事板中,我在原型单元格下添加了一个uiview作为我的页脚,里面有一个按钮。现在,因为我的单元格有边框,所以我希望有一个左右边距,但不是针对整个tableView,而是针对单元格。我确实使用了以下代码:

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我做到了,但什么也没发生:(