J'ai créé un UItableViewCell
personnalisé. J'ai mis un Label dans la cellule du storyboard et j'ai fait le lien avec la classe. Je veux changer la position de l'étiquette en fonction de l'index de la ligne. Ceci est mon code:Personnalisé UITableViewCell ne répond pas aux modifications
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
cell.titleLabel.frame = CGRectMake(100.0, 20.0, cell.titleLabel.frame.size.width, cell.titleLabel.frame.size.height);
cell.titleLabel.text = @"Test";
return cell;
}
Le problème est que l'étiquette ne change pas de position, son sur le même endroit où je l'ai mis en story-board. Cependant, lorsque je fais défiler vers le haut et vers le bas, les cellules sont à nouveau chargées et l'étiquette se déplace au bon endroit. Qu'est-ce que je fais mal?
Uhm, si vous avez connecté l'IBOutlet cela fonctionnerait. Cette méthode semble nouvelle pour moi dequeueReusableCellWithIdentifier: forIndexPath:? Pourquoi indexer le chemin? Avez-vous essayé d'implémenter prepareForReuse: dans votre cellule personnalisée? – Leonardo
Leo, c'est une méthode habituelle pour dériver une cellule réutilisable :) Mais quand vous chargez la table pour la première fois, il n'y a pas de cellules à déquiler, donc il semble que ce soit l'erreur. – Stas