提问人:TheTravloper 提问时间:2/28/2020 更新时间:2/28/2020 访问量:144
向 CollectionView 的 scrollToItem 方法添加闭包
Add a closure to scrollToItem method of CollectionView
问:
我有一个“滚动到顶部”按钮,该按钮导航到collectionView的第一个单元格。现在我想在工作完成后隐藏该“滚动到顶部”按钮。请指导我如何做到这一点。
法典:
@IBAction func backToTopClicked(_ sender: Any) {
self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: true)
bBackToTop.isHidden = true
}
上面的代码是有效的,但不是每次都有效。有时我必须单击两次才能隐藏它。因此,我想为方法添加一个闭包,该闭包将通知任务的完成
答:
1赞
Subramanian Mariappan
2/28/2020
#1
尝试
UIView.animate(withDuration: 0.3) {
self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: false)
bBackToTop.isHidden = true
}
0赞
Yosua Hoo
2/28/2020
#2
我认为您可以尝试添加 DispatchQueue,因为任何关于 UI 的代码都应该在主线程上运行
@IBAction func backToTopClicked(_ sender: Any) {
DispatchQueue.main.async {
self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: true)
bBackToTop.isHidden = true
}
}
评论
0赞
TheTravloper
2/28/2020
我试过了。然而,我得到了同样的结果。当我滚动到 10-15 个单元格时,它可以工作,但滚动到第 100 个单元格,它不起作用
下一个:目标 C 中的函数指针
评论