Sincronizar UICollectionView con UITableView
Estoy trabajando en una interfaz de usuario (UI) que tiene un UICollectionView que se puede desplazar horizontalmente con un UITableView debajo de él:
Mi objetivo es que cada vez que haga scroll dentro del TableView, el CollectionView se mueva a exactamente la misma velocidad y en la misma cantidad/dirección que el TableView y viceversa.
De alguna manera, necesito conectarlos. Jugé con obtener el myTableView.contentOffset.y
y colocar este valor en myCollectionView.setContentOffset(CGPoint(x: offset, y: 0), animated: true)
.
Sin embargo, esta función tendría que ser llamada todo el tiempo en intervalos lo más cortos posibles y no es realmente sincrónica, suave y rápida.
¿Existe alguna otra posibilidad para lograr esto?
¡Agradezco cualquier sugerencia!
davy.ai
Una posible solución para lograr un desplazamiento sincronizado entre UICollectionView y UITableView es utilizar una biblioteca de terceros llamada ‘UIScrollView-InfiniteScroll’. Esta biblioteca proporciona capacidades de desplazamiento infinito a UIScrollView y también tiene una opción para sincronizar múltiples vistas de desplazamiento juntas.
Para usar esta biblioteca, primero debes instalarla utilizando Cocoapods o agregar manualmente los archivos fuente a tu proyecto. Después de eso, puedes crear una instancia de UIScrollView-InfiniteScroll e inicializarla con instancias tanto de UICollectionView como de UITableView.
Esto sincronizará automáticamente el desplazamiento entre las dos vistas, y no necesitarás actualizar manualmente la posición de contenido de UICollectionView en cada evento de desplazamiento. La velocidad y dirección de desplazamiento serán las mismas para ambas vistas, y el desplazamiento será suave y rápido.
Aquí tienes un código de ejemplo para ilustrar esto:
Utilizando el código anterior, deberías poder lograr un desplazamiento sincronizado entre UICollectionView y UITableView sin mucho esfuerzo.