如何隐藏UICollectionView下的刷新控件

时间:2018-02-14 18:09:26

标签: ios swift uitableview uicollectionview uirefreshcontrol

我正在使用:

  • XCode 9
  • Swift 4

我的CollectionView代码非常简单:

@IBOutlet weak var collectionView: UICollectionView!

override func viewDidLoad() {
   super.viewDidLoad()
   let refreshControl = UIRefreshControl()
   refreshControl.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
   refreshControl.isUserInteractionEnabled = false

   collectionView.alwaysBounceVertical = true
   collectionView.refreshControl = refreshControl
}

@objc private func onRefresh(refreshControl: UIRefreshControl) {
   refreshControl.endRefreshing()
}

我拉collectionView后会出现refreshControl,如果我将collectionView滚动到顶部,则会在单元格上绘制refreshControl

enter image description here

我找到了这种情况的解决方案:

refreshControl.layer.zPosition = -1

但现在Refresh Controll位于单元格后面并通过它们之间的空格查看: enter image description here

我想得到的结果非常简单和合乎逻辑。我假设它适用于TableView,因为其中的单元格具有背景填充。为什么Apple最初不支持使用CollectionView

的方法

enter image description here

1 个答案:

答案 0 :(得分:1)

您只需在设置了refreshcontrol实例后添加以下内容:

        refreshControl.backgroundColor = UIColor.white
        refreshControl.tintColor = UIColor.black

希望这会有所帮助〜