iOS UICollectionView 推送刷新时的意外行为
Posted
技术标签:
【中文标题】iOS UICollectionView 推送刷新时的意外行为【英文标题】:iOS UICollectionView Unexpected behavior on push to refresh 【发布时间】:2018-10-31 13:27:45 【问题描述】:我正在尝试在我的 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
【问题讨论】:
详细解释问题。 【参考方案1】: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
希望对你有帮助。
附:有时会出现刷新控制闪烁错误(与您的类似)。可以通过在 viewDidLoad()
方法中添加:extendedLayoutIncludesOpaqueBars = true
来解决。
【讨论】:
以上是关于iOS UICollectionView 推送刷新时的意外行为的主要内容,如果未能解决你的问题,请参考以下文章
iOS解决UICollectionView中使用reloadItemsAtIndexPaths进行局部cell更新导致视图重叠问题
如何以编程方式推送 UICollectionView? [复制]