Как анимировать заголовок раздела Collectionview в приложении TVOS?
Нужно анимировать заголовок раздела, когда выделена ячейка коллекции под заголовком. Точно так же, как если вы заходите в приложение "ITunes ITunes" на Apple TV и переходите на вкладку "Лучшие фильмы", если вы просматриваете списки воспроизведения ниже, при прокрутке элементов заголовок анимируется вверх и вниз, чтобы не перекрываться с выделенной ячейкой. любая помощь приветствуется
0 ответов
Я не могу точно предоставить код; но это в основном то, что вы хотите сделать.
1 - Создать посредника class headingRouter
; чья цель будет заключаться в посредничестве между заголовком scrollView (collectionView или tableView) и выбором ячейки. Экземпляр заголовочного маршрутизатора будет жить в ваших методах основного уровня collectionView. Вы можете использовать шаблон делегата, чтобы абстрагировать логику изображения в router
а затем на collectionView; соответствовать делегату для обновления рассматриваемого представления.
2 - Верхние и нижние колонтитулы - это то, что называется supplementary view
; поэтому им может быть назначен любой пользовательский подкласс uiView
, В этом headerView; у вас должен быть метод, который принимает идентификатор, возможно id
и изменяет отображаемое изображение. Вы можете анимировать это изменение с затуханием, если хотите, чтобы оно выглядело как iTunes.
3 - На вашей сфокусированной клеточной секции; имеют ячейки идентификатор, который назначается во время cellForRowAt
метод в ваших методах делегата / источника данных. Когда конкретный взгляд сфокусирован; использование одного из различных методов collection / tableView; Вы хотите взять этот идентификатор; передать его вашему headingRouter
, который, в свою очередь, уведомит ваш заголовок об изменении его изображения на соответствующее изображение (возможно, сохраненное в кэше) на изображение, на которое вы фокусируете.
Это больше логика реализации; но вы не опубликовали никакого кода, так что нет особого пути к конкретике. Вы могли бы обойтись без Router
класс, но это более чистое решение.
ура