【问题标题】:Swift UIRefreshControl to UICollectionView inside UIScrollViewSwift UIRefreshControl 到 UIScrollView 内的 UICollectionView
【发布时间】:2019-10-22 18:36:40
【问题描述】:

我在 UIScrollView 中有 UICollectioview,我想添加 UIRefreshControl,但它不起作用

private let refreshControl = UIRefreshControl()

 override func viewDidLoad() {
        super.viewDidLoad()
        self.refreshControl.addTarget(self, action: #selector(didPullToRefresh(_:)), for: .valueChanged)
        self.folderCollectionView.alwaysBounceVertical = true
        self.folderCollectionView.bounces  = true
        self.refreshControl.tintColor = UIColor.black
        self.folderCollectionView.refreshControl = refreshControl
}


@objc
    private func didPullToRefresh(_ sender: Any) {
        print("123")
        getFolder(update: true)
        refreshControl.endRefreshing()
    }

在 getFolder 我获取数据并重新加载集合

当我运行集合时,没有拉更新并且不工作

我做错了什么

【问题讨论】:

  • 将 refreshcontrol 设置为您的滚动视图而不是您的 folderCollectionView

标签: swift uicollectionview uiscrollview pull-to-refresh


【解决方案1】:

使用这种方式将UIRefreshControl添加到UICollectionView中,看下面的代码,希望对你有帮助。

// Add Refresh Control to Collection View
if #available(iOS 10.0, *) {
    folderCollectionView.refreshControl = refreshControl
} else {
    folderCollectionView.addSubview(refreshControl)
}

【讨论】:

  • 编辑你的函数,如 "@objc func didPullToRefresh(_ sender: UIRefreshControl) {}" ,删除私有关键字并将类型更改为 UIRefreshControl
猜你喜欢
  • 2021-11-26
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 2013-10-29
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多