UIScrollview en una UICollectionViewCell personalizada que no funciona

Estoy tratando de hacer que un UIScrollView funcione correctamente dentro de UICollectionViewCell .

La celda personalizada se está cargando a través de un file xib y es una subclass de UICollectionViewCell . Tuve problemas para hacer funcionar otros controles, como un button y un UICollecitonView reconocimiento, ya que el UICollecitonView no parece estar pasando ningún toque a las celdas, pero me puse en UICollectionView con los reconocedores de gestos en el UICollectionView . El único problema que tengo es el UIScrollViews …

El UICollectionView desplaza horizontalmente, y el UIScrollView en las celdas se desplaza verticalmente. He intentado usar un UIPanGestureRecognizer para desplazarlos, pero parece que deshabilita la capacidad de desplazamiento de UICollectionView's .

¿Alguien tiene pensamientos?

EDITAR: ¡Lo tengo!

Así que me convertí a una vista de colección de una biblioteca de terceros anterior que estábamos usando antes de iOS6. Resulta que el problema fue con los files xib que estábamos usando para las celdas. Con la biblioteca antes, las células eran solo subclasss de UIViews. Cambié las classs a la subclass UICollectionViewCell y actualicé la class personalizada. Resulta que esto no fue suficiente. Para que los toques pasen a las celdas, tuve que arrastrar una nueva UICollectionViewCell desde la biblioteca de objects, copyr todas las subvistas y volver a conectar las IBOutlets . ¡Después de esto, funcionó!

No hay problema con UISCrollView en UICollectionViewCell. Use StoryBoard y se desplazará a OK. UIScrollView superpuso UICollectionViewCell, por lo que didSelect solo funciona cuando toca fuera de ScrollView y dentro de Cell (scrollView.frame <cell.frame).

Si quieres implementar un toque u otro gesto, simplemente agrégalo a UIScrollView en awakeFromNib

Recomiende el código:

https://github.com/lequysang/github_zip/blob/master/CollectionViewWithCellScrollViewStoryBoard.zip

Lo arreglé en mi código asegurándome de cambiar el tamaño de la vista de desplazamiento en el hilo principal.

Mi vista de colección está utilizando nsfetchedresultscontroller que está utilizando llamadas de bloque para actualizar las celdas seleccionadas. La primera vez que se seleccionó una celda, la vista de desplazamiento no se desplazaría. Sin embargo, si hace clic en otra celda y hace clic en él, funcionará bien. La carga inicial de la celda parecía que el cal no podía estar donde debía estar en el hilo principal para afectar el comportamiento.

 -(UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CustomCell" forIndexPath:indexPath]; dispatch_async(dispatch_get_main_queue(), ^{ // resizeScrollViewMethod should be where scrollview content size > scroll view frame. [cell resizeScrollViewMethod]; }); return cell; } - (void) resizeScrollViewMethod { //Do your scrollview size calculation here }