iOS UICollectionView推送刷新时出现意外行为

时间:2018-10-31 13:27:45

标签: ios swift uicollectionview uikit

我正在尝试对我的collectionView实施推送刷新,代码就是这样。

private lazy var refreshControl : UIRefreshControl = {
    let frame = CGRect(x: 0, y: 0, width: 30, height: 30)
    let control = UIRefreshControl(frame: frame)
    control.addTarget(self, action: #selector(getAllJobs), for: .valueChanged)
    return control
}()

collectionView.refreshControl = refreshControl

enter image description here

1 个答案:

答案 0 :(得分:0)

无需为UIRefreshControl设置框架

我通常使用以下步骤来实现它:

在类属性块中:

let refreshControl: UIRefreshControl = UIRefreshControl()

viewDidLoad中:

collectionView.alwaysBounceVertical = true
collectionView.refreshControl = refreshControl
refreshControl.addTarget(self, action: #selector(loadData), for: .valueChanged)

类正文中的某处:

// Refresh handler
@objc func loadData() {
        // Your refresh-code here
}

希望有帮助。

P.S。有时会有刷新控制闪烁错误(某种程度上类似于您的错误)。可以通过在您的extendedLayoutIncludesOpaqueBars = true方法中添加viewDidLoad()来解决。