首页 > 解决方案 > 滚动时tableView的UIRefreshControl覆盖第一个单元格

问题描述

我在我的 tableView 上设置了一个 refreshControl,如下所示:

func setupRefreshControl() {
        let refreshControl = UIRefreshControl()
        refreshControl.addTarget(self, action: #selector(pullToRefreshDevicesTV), for: .valueChanged)
        devicesTableView.refreshControl = refreshControl
    }

这里有一些图片供参考: https ://imgur.com/a/QDEyzRi

当用户滚动 TableView 时,活动指示器与第一个单元格重叠。(图一和二)

当我向下滚动 tableView 直到它处于“通常”状态时,没有加载 refreshControl,指示器隐藏。(图三)

我希望 refreshControl 在与第一个单元格碰撞时始终隐藏。

我已经尝试在 tableView 的第一个索引上添加 refreshControl,但我无法将它推到后台,因为我的单元格是透明的。

标签: iosswiftuitableview

解决方案


就像我在评论中提到的那样,您必须为自己设置背景颜色UITableView
否则,活动指示器将在表格视图下方可见 - 这是有道理的,因为它位于表格视图的后面,但表格视图是透明的,因此预计会看到活动指示器视图。

在实现自定义活动指示器的情况下,可能有第 3 方解决方案,但对于本机解决方案,没有其他解决方案。


推荐阅读