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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM