UITableViewCell可以有左右两边间距的实现方法

UITableViewCell的宽度会在添加到TableView的时候被重设,所以在
- (UITableViewCell *)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
里面设置cell的宽度是没用的。因为想给cell加一层border,所以想让cell有点缩进,google了一下,发现了一种比较方便的方法可以设置UITableViewCell的宽度。新建一个UITableViewCell的子类,然后重写它的-setFrame:方法即可

Objective - C

- (void)setFrame:(CGRect)frame {
    frame.origin.x += LocationCellSpace;
    frame.size.width -= 2 * LocationCellSpace;
    [super setFrame:frame];
}

Swift

override var frame: CGRect {
        didSet {
            var newFrame = frame
            newFrame.origin.x += locationCellSpace
            newFrame.size.width -= 2 * locationCellSpace
            super.frame = newFrame
        }
    }

你可能感兴趣的:(UITableViewCell可以有左右两边间距的实现方法)