ios - source - uicollectionview header
Célula que desaparece después de desplazarse 2-3 veces en UICollectionView (1)
Me enfrento a un problema extraño al desplazar mi UICollectionView
. Muestra una vista en blanco sin celdas.
Extraña extrañamente mi celda o quita mi celular, no sé, pero no puedo encontrar ninguna solución.
He intentado estas soluciones desde SO:
Primero: UICollectionViewFlowLayout
crear una clase personalizada de UICollectionViewFlowLayout
y UICollectionViewFlowLayout
instrucciones con todos los métodos diferentes, pero no UICollectionViewFlowLayout
resolver mi problema.
2do: intenté el método a continuación para volver a atribuir y recalcular el tamaño de mi celda:
-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
return YES;
}
Enlaces que seguí:
Que1: desaparece la celda de UICollectionView
Por favor, guíame qué está mal con la colección simple con celda personalizada.
Imagen de referencia :
Aquí estoy respondiendo mi propia pregunta.
Como estoy estancado desde los últimos 2 días para este problema, espero que alguien reciba ayuda si alguien tiene el mismo problema que yo.
Como estoy usando CollectionViewController
y agrego esa vista de Controller
a mi controlador actual usando, por lo que desaparece mi celda de vista de colección.
Motivo: debido a que
ARC
lanzó esa conexión dedelegate
y dedatasource
y esa vista colectiva no puede obtener la celda mientras estoy desplazándome de arriba a abajo.
Solución:
Resuelvo este problema de 2 formas.
Primero: Crear ese CollectionViewController
en mi VC
actual que no esté en la clase Service & JSON
Parser debido a la pérdida de conexión delegate & datasource
.
La parte más importante en el siguiente código es addChildViewController
ya que no liberará la conexión de delegado y funciona como se espera.
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
CardListViewController *objCardListViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"CardListViewController"];
objCardListViewController.view.frame = CGRectMake(0, 0,self.cardMainView.frame.size.width, self.cardMainView.frame.size.height);
[self.cardMainView addSubview:objCardListViewController.view];
[self addChildViewController:objCardListViewController];
pero según mi requerimiento, necesitaba esta vista de colección en muchos lugares, así que necesito generalizar esta vista de colección.
Así que voy por 2nd Way, que es ContainerView
con add child controller y conecto este CollectionViewController
con vista de contenedor para poder usarlo en tantos lugares donde necesite esta lista.
Extraño pero cierto.
Espero que esto ayude a alguien si enfrenta el mismo problema.
Gracias y Feliz Codificación.