J'ai sous-classé UITableViewCell pour créer une cellule personnalisée avec un bouton et 2 étiquettes. La définition de cellule est chargée à partir d'un xib en utilisant le modèle décrit dans Beginning iPhone Development de Dave Mark. Voici le code essentiel:Impossible d'indenter UITableViewCell sous-classe
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MarketItemCustomCell" owner:self options:nil];
for (id oneObject in nib)
{
if ([oneObject isKindOfClass:[MarketItemCustomCell class]])
{
cell = (MarketItemCustomCell *)oneObject;
break;
}
}
Les étiquettes et le bouton s'affichent comme prévu mais le niveau d'indentation n'est pas respecté. J'ai implémenté indentationLevelForRowAtIndexPath comme ci-dessous, mais la cellule est toujours alignée tout le chemin vers la gauche.
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
{
<snip/>
return 5;
}
Notez que le niveau d'indentation fonctionne correctement lorsque je n'utilise pas de cellule personnalisée.
Des indices?
Cela fonctionne parfaitement! – Nathan
Ceci est génial pour indenter la vue du contenu - merci! Que diriez-vous d'indenter la cellule elle-même? Je pensais que je supprimerais contentView de ce qui précède et regarder pour voir si indentationLevel n'est pas 0, mais cela semble icky. –
ci-dessus code se bloque sur iOS8 – Gerry