J'ai défini la taille de la tableView que je montre comme popoverController comme 4 * rowheight. Et j'utilise 12cells dans la tableView. Chaque cellule contient une image et une étiquette. Je peux voir toutes les cellules en faisant défiler. Jusqu'à la cinquième cellule c'est ok. Après la 5ème cellule, l'étiquette et l'image que j'utilise dans les quatre premières cellules sont répétées pour les cellules restantes. Et si je sélectionne la cellule, le résultat est affiché avec précision.Le contenu de la cellule change pour les lignes présentes en dehors de la hauteur de tableview (pour voir ces cellules, nous devons faire défiler vers le bas)?
Mais lorsque je reprends la tableView, l'image et les étiquettes ne sont pas précises même pour les 5 premières cellules. Tous sont modifiés mais la sélection donne le résultat correct. Quelqu'un peut-il m'aider??
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [self tableviewCellWithReuseIdentifier:CellIdentifier rowNumber:indexPath.row];
}
//tableView.backgroundColor = [UIColor clearColor];
return cell;
}
- (UITableViewCell *)tableviewCellWithReuseIdentifier:(NSString *)identifier rowNumber:(NSInteger)row
{
CGRect rect;
rect = CGRectMake(0.0, 0.0, 360.0, ROW_HEIGHT);
UITableViewCell *cell = [[[UITableViewCell alloc] initWithFrame:rect reuseIdentifier:identifier] autorelease];
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10.00, 10.00, 150.00, 100.00)];
myImageView.tag = IMAGE_TAG;
[cell.contentView addSubview:myImageView];
[myImageView release];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(170.00, -10.00, 170.00, 80.00)];
label.tag = LABEL_TAG;
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor blackColor]];
[label setFont:[UIFont fontWithName:@"AmericanTypewriter" size:22]];
[label setTextAlignment:UITextAlignmentLeft];
[cell.contentView addSubview:label];
[label release];
if (row == 0)
{
UIImageView *imageView = (UIImageView *)[cell viewWithTag:IMAGE_TAG];
imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"cover_v.jpg"]];
UILabel *mylabel = (UILabel *)[cell viewWithTag:LABEL_TAG];
mylabel.text = [NSString stringWithFormat:@"COVER PAGE"];
}
}
J'ai trouvé que lorsque je prends cette tableview, seulement 4 premières cellules sont en cours de création. Lorsque j'essaie de voir le reste en faisant défiler, il appelle le code pour la 5ème rangée. Mais pas pour les lignes restantes. Et mes lignes restantes prennent les détails de la 1ère, 2ème et 3ème cellule. – wolverine