Как узнать, прокручивается ли конкретная часть заголовка в CollectionView за пределы экрана? - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу получить обратный вызов или уведомление, как только мой сегмент управления выйдет за пределы экрана. У моей коллекции вид сверху есть пользовательский заголовок.

В прошлом, когда у меня в представлении заголовка было только 1 UIElement, я использовал методы

func collectionView(UICollectionView, willDisplaySupplementaryView: UICollectionReusableView, forElementKind: String, at: IndexPath)

и

func collectionView(UICollectionView, didEndDisplayingSupplementaryView: UICollectionReusableView, forElementOfKind: String, at: IndexPath)

для выполнения этого обратного вызова, чтобы я мог вызывать свою конкретную функцию, когда это происходит.

Но теперь у меня есть немного более сложный заголовок с несколькими дополнительными элементами UIE. Есть ли способ получить уведомление или обратный вызов, как только элемент управления «Сегмент» выйдет за пределы экрана из скриншота? enter image description here

1 Ответ

0 голосов
/ 08 ноября 2018

Вы пытались реализовать метод scrollViewDidScroll, как показано ниже?

var isSegmentedHidden = false
func scrollViewDidScroll(_ scrollView: UIScrollView) {

    if scrollView.contentOffset.y < 50.0 && isSegmentedHidden{ //Here 50.0 is the height of your segmented control plus vertical padding if any.

        isSegmentedHidden = false

        //Call your function here, once segmented control is visible
    }

    if scrollView.contentOffset.y >= 50.0 && isSegmentedHidden == false{ //Here 50.0 is the height of your segmented control plus vertical padding if any.

        isSegmentedHidden = true

        //Call your function here, once segmented control is invisible
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...