【问题标题】:UIRefreshControl of tableView covers first cell when scrolling滚动时tableView的UIRefreshControl覆盖第一个单元格
【发布时间】:2019-09-14 01:28:45
【问题描述】:

我在我的 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,指示器隐藏。 (图3)

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

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

【问题讨论】:

  • 表格视图本身是否有背景色?如果不是,请尝试将其设置为白色(或其他最适合您的)。
  • tableview背景需要.clear
  • 好吧,那么您将无法解决它,因为这是预期的行为。
  • 我无法想象,你确定吗?文档里哪里写的,为什么这么难看?
  • @AliPacman 并非所有内容都已记录在案。 Stack 存在的原因。听从他的建议,他是对的。

标签: ios swift uitableview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多