gpt4 book ai didi

ios - UIActivityIndi​​catorView 在 CollectionView 页脚中消失

转载 作者:行者123 更新时间:2023-11-30 12:00:58 25 4
gpt4 key购买 nike

我的应用程序中有一个 collectionView,只有 1 个部分从 API 下载数据。我有一个分页,我正在尝试在我的 collectionView 中添加一个加载页脚。标题正常显示。我在这个页脚单元格中有一个 UIActivityIndi​​catorView 和一个 UILabel。当触发第一个限制时,单元格中存在 2 个元素,但当触发第二个限制时,UIActivityIndi​​catorView 不存在。

你对此有什么想法吗?

cell的代码(BaseCell只是一个类,以避免每次点击init和required init):

class loadingCell: BaseCell {

override func setupViews() {
super.setupViews()

backgroundColor = .yellow

let activity = UIActivityIndicatorView()
activity.backgroundColor = .red
activity.startAnimating()
activity.frame = CGRect(x: 10, y: 20, width: 20, height: 20)
let label = UILabel()
label.text = "hello"
label.frame = CGRect(x: 100, y: 20, width: 40, height: 20)
label.backgroundColor = .green


addSubview(activity)
addSubview(label)

}

}

集合委托(delegate)方法:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForFooterInSection section: Int) -> CGSize {
return CGSize(width: SCREENW, height: 50)
}

func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {

if kind == UICollectionElementKindSectionFooter {
let loadingFooterView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionFooter, withReuseIdentifier: loadingCell, for: indexPath)
return loadingFooterView
}

return UICollectionReusableView()
}

单元格已正确注册。

触发第一个限制时会发生什么:

enter image description here

第二个:

enter image description here

最佳答案

根据@MaksymMusiienko 评论,我尝试过此操作来重置微调器的动画。

class loadingCell: BaseCell {

let activitySpinner: UIActivityIndicatorView = {
let spinner = UIActivityIndicatorView()
spinner.backgroundColor = .red
spinner.startAnimating()
spinner.frame = CGRect(x: 10, y: 20, width: 20, height: 20)
return spinner

}()

override func setupViews() {
super.setupViews()

backgroundColor = .yellow

let label = UILabel()
label.text = "hello"
label.frame = CGRect(x: 100, y: 20, width: 40, height: 20)
label.backgroundColor = .green


addSubview(activitySpinner)
addSubview(label)

}

override func prepareForReuse() {
super.prepareForReuse()
activitySpinner.startAnimating()
}
}

关于ios - UIActivityIndi​​catorView 在 CollectionView 页脚中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47238787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com