我使用NVActivityIndicatorView
来加载动画。
我有这些功能来添加和删除活动指示器。
func addActivityIndicator() {}
func startActivityIndicatorView() {}
func stopActivityIndicatorView() {}
我有一个标题,我在
中实现override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
let headerView = ...
return headerView
}
我的问题是在loadingView加载时标题是可见的。我希望在collectionView
加载时隐藏它。
答案 0 :(得分:1)
你可能正在执行一些异步操作,同时指示器是动画的,所以你应该通过调用Id
让集合视图知道操作已经完成,所以它将通过{重新布局它的UI元素,包括头文件{1}}:
首先,如果指示符在屏幕上,那么您需要从collectionView:layout:referenceSizeForHeaderInSection
返回reloadData
,这样就不会填充标题:
viewForSupplementaryElementOfKind
然后,无论您在哪里隐藏活动指示器(可能在异步操作的完成块中),都应该调用CGSize.zero
,以便再次调用func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
if indicatorView.isAnimating {
return CGSize.zero
} else {
return CGSize(width: collectionView.frame.width, height: 50)
}
}
:
collectionView.reloadData