iOS tableView 在设置了footView的情况下,系统自带分割线时而消失,时而出现的问题。
困扰了我很久,今天分享下解决方法。
在你自定义的cell内部加上下面这句话
- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *subview in self.contentView.superview.subviews) {
if ([NSStringFromClass(subview.class) hasSuffix:@"SeparatorView"]) {
subview.hidden = NO;
}
}
}
如下
layoutSubviews在以下情况下会被调用:
1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
大家请看第4条:滚动一个UIScrollview,会触发这个方法, UITableView 继承与 UIScrollview, 所以我在这个方法里面,强制让分割线不隐藏