J'essaie de configurer un UITableViewCell qui peut avoir une image dans le coin supérieur droit.Pourquoi cette UIImage disparaît-elle de UITableViewCell lors de la rotation en mode paysage?
Je l'ai en mode portrait, mais quand je tourne en mode paysage, l'image disparaît.
Voici le code:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
UIImage *cornerImage = [UIImage imageNamed:@"star_corner.png"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(cell.contentView.bounds.size.width - cornerImage.size.width,
0,
cornerImage.size.width,
cornerImage.size.height)];
imageView.tag = kCornerImageViewTag;
[cell.contentView addSubview:imageView];
[imageView release];
}
UIImageView *theView = (UIImageView *)[cell.contentView viewWithTag:kCornerImageViewTag];
[theView setImage: [UIImage imageNamed:@"star_corner.png"]];
cell.textLabel.text = @"the text label";
return cell;
}
Fait intéressant, si je commente la ligne « cell.textLabel.text = », l'image ne montre dans le paysage ... bien qu'il ne se déplace pas vers la extrème droite.
S'il y a autre chose que je fais mal ici, s'il vous plaît faites le moi savoir.
Merci d'avance pour toute assistance.
Merci pour la réponse. Je réponds en fait à didRotateFromInterfaceOrientation. Depuis la publication de cette question il y a quelques mois, j'ai trouvé que la solution facile était juste d'ajouter: imageView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; Cela positionne correctement l'image en mode paysage. Cependant, cela ne fonctionnera toujours pas pour moi car l'activation du bouton Supprimer de la cellule provoque le déplacement de l'image. De plus amples recherches, il me semble que j'ai besoin de sous-classer UITableViewCell et de faire ma mise en page là - donc j'explore comment faire cela maintenant. –