我正在尝试实现this library: CRRefresh。通过CocoaPods安装,现在尝试将其添加到我的UICollectionView中,效果很好。但是,我的应用程序顶部有一个菜单栏,发布后,加载动画会显示在菜单栏的后面(有时)。如果我拉得足够远,它将显示在应该的位置。实现看起来像这样:
collectionView.cr.addHeadRefresh(animator: NormalHeaderAnimator()) { [weak self] in
self!.posts.removeAll()
userInfo.removeAll()
self!.loadData()
DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: {
self?.collectionView.cr.endHeaderRefresh()
})
}
collectionView.cr.beginHeaderRefresh()
结果看起来像这样,如果我拉得足够远,你可以看到它运行良好,但是当我拉一点点时,加载指示器就隐藏了:
我试图像这样更改CRRefreshAnimator本身中的插图,但是它不起作用:
open var insets: UIEdgeInsets = UIEdgeInsets(top: 60, left: 0, bottom: 0, right: 0)
在我的AppDelegate中,将窗口设置为TabBarController,如下所示:
let MainScreen = TabBarController()
window?.rootViewController = MainScreen
然后我像这样在TabBarController中设置NavigationController:
func setTabBarController() {
let layout = UICollectionViewFlowLayout()
let SocialController = UINavigationController(rootViewController: SocialViewController(collectionViewLayout: layout))
}
然后在SocialViewController中添加与CollectionView相关的所有内容,因此CRRefresh功能也位于其中。请帮助我了解如何解决此问题。
编辑:如果我在AppDelegate中将窗口设置为SocialViewController,那么如果没有TabBar和NavigationController,则只有collectionView可以很好地工作,支持我的想法是问题可能存在NavigationController /菜单栏。
编辑2:我刚刚注意到,当我从下拉菜单中释放时,CollectionView的ScrollBar并未设置为顶部。也许这会导致问题,而不是MenuBar?然后,我需要确保释放时将ScrollBar设置为顶部。