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
        }
    }
}
posted @ 2016-08-18 09:32  lancely  阅读(3904)  评论(0编辑  收藏  举报