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
}
}