tableview的style为UITableViewStyleGrouped时 footer多出空白
fengshh93 opened this issue · 7 comments
fengshh93 commented
把tableview初始化的style 改成UITableViewStyleGrouped类型,上拉刷新的footer和最后一个cell多了一段空白距离
2410495654 commented
解决了吗?
.plain 可解决,但不想改代码 @fengshh93
fengshh93 commented
未解决啊,很多列表都必用group,后面看看吧
wolfcon commented
这里我以 I18NExampleViewController.swift
这个第二个 tab 栏为例.
let footer = MJRefreshAutoNormalFooter {
DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in
guard let self = self else { return }
self.tableView.mj_footer?.endRefreshing()
}
}.link(to: tableView)
// 着重看这里. 让 Footer 上移 40
footer.ignoredScrollViewContentInsetBottom = -40
// 去除 Footer 引入 TableView 后导致的 contentInset 变动,
// 因为这里是 Group 形式, Group 默认就会在头尾留空, 从而导致了界面异常的出现
tableView.contentInset = .zero
fengshh93 commented
我并未隐藏footer 加载更多的时候用的是菊花的样式 直接继承了MJRefreshAutoNormalFooter , 那collectionView的footer也存在这样的问题,也是这个导致的吗
fengshh93 commented
估计跟新系统上的一些状态栏高度有关系,我发现footer和最后一个cell的距离是20的高度,但是我在iOS11.3系统上并未发现不正确
qwerOC commented
这样试试
CGRect frame = CGRectMake(0, 0, 0, 0.1);//关键设置view的高度
UITableView.appearance.tableHeaderView = [[UIView alloc] initWithFrame:frame];
UITableView.appearance.tableFooterView = [[UIView alloc] initWithFrame:frame];
2410495654 commented
// tips: 在延迟设置 datasource 之后,tableview会出现额外的35的偏移,设置tableHeaderView之后即可消除
// [https://stackoverflow.com/questions/18880341/why-is-there-extra-padding-at-the-top-of-my-uitableview-with-style-uitableviewst]
if self.tableView.tableHeaderView == nil {
self.tableView.tableHeaderView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.tableView.width, height: CGFloat.leastNormalMagnitude))
}
if self.tableView.tableFooterView == nil {
self.tableView.tableFooterView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.tableView.width, height: CGFloat.leastNormalMagnitude))
}
这个一直存在,但不太行