Добавьте замыкание в метод scrollToItem для CollectionView - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть кнопка Scroll to Top, которая перемещается к 1-й ячейке collectionView. Теперь я хочу скрыть эту кнопку Scroll To Top после того, как работа будет завершена. Пожалуйста, объясните мне, как это сделать.

Код:

@IBAction func backToTopClicked(_ sender: Any) {
    self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: true)
    bBackToTop.isHidden = true
}

Приведенный выше код работает, но не каждый раз. Иногда мне нужно дважды щелкнуть, чтобы скрыть это. Поэтому я хочу добавить закрытие к методам, которые будут уведомлять о завершении задачи

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Попробуйте,

UIView.animate(withDuration: 0.3) {
    self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: false)
    bBackToTop.isHidden = true
}
0 голосов
/ 28 февраля 2020

Я думаю, вы можете попытаться добавить DispatchQueue, так как любой код об интерфейсе должен выполняться в основном потоке

@IBAction func backToTopClicked(_ sender: Any) {
    DispatchQueue.main.async {
        self.productCollectionView?.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: true)
        bBackToTop.isHidden = true
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...