iOS-解决UITableView有footerView时最后一个cell不显示分割线问题

重写UITableViewCell子类的layoutSubviews方法

使用Objective-C

- (void)layoutSubviews {
    [super layoutSubviews];
    for (UIView *subview in self.contentView.superview.subviews) {
        if ([NSStringFromClass(subview.class) hasSuffix:@"SeparatorView"]) {
            subview.hidden = NO;
            CGRect frame = subview.frame;
            frame.origin.x += self.separatorInset.left;
            frame.size.width -= self.separatorInset.right;
            subview.frame =frame;
        }
    }
}

使用Swift

override func layoutSubviews() {
	super.layoutSubviews()
	for item in self.contentView.superview!.subviews {
    var subview = item as! UIView
    if NSStringFromClass(subview.classForCoder).hasSuffix("SeparatorView") {
		subview.hidden = false
            var frame = subview.frame
            frame.origin.x += self.separatorInset.left
            frame.size.width -= self.separatorInset.right
            subview.frame  = frame
        }
    }
}
原文地址:https://www.cnblogs.com/lancely/p/5782784.html