Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tableview的style为UITableViewStyleGrouped时 footer多出空白 #1572

Open
fengshh93 opened this issue Jun 30, 2022 · 7 comments
Open

tableview的style为UITableViewStyleGrouped时 footer多出空白 #1572

fengshh93 opened this issue Jun 30, 2022 · 7 comments
Labels

Comments

@fengshh93
Copy link

把tableview初始化的style 改成UITableViewStyleGrouped类型,上拉刷新的footer和最后一个cell多了一段空白距离

@fengshh93 fengshh93 added the bug label Jun 30, 2022
@2410495654
Copy link

解决了吗?
.plain 可解决,但不想改代码 @fengshh93

@fengshh93
Copy link
Author

未解决啊,很多列表都必用group,后面看看吧

@wolfcon
Copy link
Collaborator

wolfcon commented Jul 12, 2022

这里我以 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
Copy link
Author

fengshh93 commented Jul 14, 2022

我并未隐藏footer 加载更多的时候用的是菊花的样式 直接继承了MJRefreshAutoNormalFooter , 那collectionView的footer也存在这样的问题,也是这个导致的吗

@fengshh93
Copy link
Author

fengshh93 commented Jul 14, 2022

估计跟新系统上的一些状态栏高度有关系,我发现footer和最后一个cell的距离是20的高度,但是我在iOS11.3系统上并未发现不正确

@qwerOC
Copy link

qwerOC commented Sep 23, 2022

这样试试

    CGRect frame = CGRectMake(0, 0, 0, 0.1);//关键设置view的高度
    UITableView.appearance.tableHeaderView = [[UIView alloc] initWithFrame:frame];
    UITableView.appearance.tableFooterView = [[UIView alloc] initWithFrame:frame];

@2410495654
Copy link

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

这个一直存在,但不太行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants