ios - XCode 6 UICollectionview viewwithtag no funciona
xcode6 uicollectionviewcell (2)
Parece que XCode 6 es diferente en el uso de viewwithtags luego XCode 5.
Estoy usando el siguiente código en XCode 6 con Storyboards. Se crean 50 celdas pero la etiqueta no es visible. Todo está configurado correctamente como la etiqueta, etc. Si utilizo el "antiguo" XCode 5 para hacerlo con la celda Registrar clasificada, parece que funciona para iOS 7 pero en iOS 8 los datos no se pasa a la etiqueta hasta que empiece a desplazarme.
static NSString * const reuseIdentifier = @"MyCell";
- (void)viewDidLoad {
[super viewDidLoad];
// Register cell classes
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return 50;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
UILabel *nameLabel = (UILabel *)[cell viewWithTag:102];
nameLabel.text = @"Hello World";
nameLabel.textColor = [UIColor whiteColor];
cell.backgroundColor = [UIColor blueColor];
return cell;
}
Respuesta actualizada, ya que funciona, pero en iOS 8, la primera celda simplemente no muestra el contenido. Solo después de desplazarse hacia arriba y hacia abajo, el contenido se carga en la etiqueta.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UILabel *nameLabel = (UILabel *)[cell viewWithTag:102];
nameLabel.text = @"Hello World";
nameLabel.textColor = [UIColor whiteColor];
cell.backgroundColor = [UIColor blueColor];
return cell;
}
Capturas de pantalla aquí:
https://www.dropbox.com/s/xs6gbvz3d04e4hv/Bildschirmfoto%202014-09-21%20um%2023.08.18.png?dl=0 https://www.dropbox.com/s/tp67rznggi5pcwt/Bildschirmfoto%202014 -09-21% 20um% 2023.10.06.png? Dl = 0
Encontré la solución para hacerlo como lo hacía antes. Elimine la línea para registrar la celda y coloque el reuseIdentifier donde maneja la celda. Lo siento por mi respuesta tardía en este
Tuve un problema similar cuando estaba usando Xcode 6.3 beta e IOS 8. Lo resolví así. Primero seleccione ver y deshabilite las Clases de tamaño en Storyboard. Luego, limpia y crea la aplicación. Después de eso habilita las clases de tamaño . Funcionará ahora.