2012-03-29 2 views
6

J'ai un UITableView groupé et lorsque je passe en mode édition, les cellules sont indentées. Je dois arrêter l'indentation des cellules lorsque je passe en mode édition.Supprimer UITableViewCell Edit Mode Indentation?

J'ai essayé deux choses:

cell.shouldIndentWhileEditing = NO; 

et

-(BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return NO; 
} 

Aucune de ces indentation de cellules d'arrêt en entrant dans le mode d'édition. Donc j'espère que quelqu'un peut aider, merci.

+0

alors que voulez-vous qu'il se passe? Où voulez-vous que le signe "supprimer" apparaisse? ou peut-être que j'ai mal compris la question ...:/ – TommyG

+0

La façon dont je formate le texte et les choses signifie sans indentation il y a toujours place l'icône de suppression. Assez simple, normalement lors de l'édition, les cellules glissent, elles sont indentées. Je veux appuyer sur modifier afin que je vois encore les icônes de suppression, mais sans les cellules indentant. –

+0

intéressant ... cela vous dérangerait-il de coller votre nouveau code qui a fonctionné? curieux de voir. – TommyG

Répondre

7

Faites-la documentation de façon suggère, citant [UITableViewCell willTransitionToState:]:

de UITableViewCell peuvent Sous-classes mettre en œuvre cette méthode pour animer des modifications supplémentaires à une cellule quand il est en train de changer l'état. UITableViewCell appelle cette méthode chaque fois qu'une cellule passe d'un état à l'autre, par exemple d'un état normal (par défaut) au mode d'édition. La cellule personnalisée peut configurer et positionner toutes les nouvelles vues qui apparaissent avec le nouvel état. La cellule reçoit ensuite un message layoutSubviews (UIView) dans lequel elle peut positionner ces nouvelles vues dans leurs emplacements finaux pour le nouvel état. Les sous-classes doivent toujours appeler super lors de la substitution de cette méthode.

En d'autres termes, vous pouvez modifier la position et la taille de la [UITableViewCell contentView] dans [UITableViewCell layoutSubviews, d'annuler la indendation.

+1

pouvez-vous s'il vous plaît donner un exemple ou un exemple de code source? – harshitgupta

+0

Lorsque j'ai changé l'image contentView dans une table groupée, le contenu de la cellule a été déplacé, mais la bordure autour de la cellule est restée la même, donc elle ne semblait pas correcte. – arlomedia

Questions connexes