2010-01-24 2 views
2

J'ai une tableView. Tout ce qu'il a mis en place et fonctionne. J'avais cell.accessoryType fonctionnait bien, mais pas une seule fois j'ai eu cell.editingAccessoryType pour fonctionner. Il a travaillé avec cette méthode déconseillée, mais avec le nouveau ... pas de chance. Voici mon code, au moins pour la première section:UITableViewCell cell.editingAccessoryType ne fonctionne pas

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
UITableViewCell *cell = nil; 

interrupteur (indexPath.section) {
cas RFE_SECTION: interrupteur (indexPath.row) { case 0: { NSString statique * RFECellIdentifier = @ "RFECellIdentifier";

cell = [tableView dequeueReusableCellWithIdentifier:RFECellIdentifier]; 

if (cell == nil) 
{ 
// Create a cell to display "Add Visit". 
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:RFECellIdentifier] autorelease]; 
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap; 
cell.textLabel.numberOfLines = 0; 
cell.textLabel.font = [UIFont fontWithName:@"American Typewriter" size:16.0f]; 
} 
if (visit.rfe.length == 0) 
{ 
cell.textLabel.text = @"Add Reason for Encounter"; 
} 
if (visit.rfe.length != 0) 
{ 
cell.textLabel.text = visit.rfe; 
} 

} rupture; } pause;

section suivante, etc, etc, etc.

Chaque fois que je mets le editingAccessoryType dans, je vais modifier le tableView et il ne se présente pas. Des idées? Ai-je manqué une méthode de délégué ou quelque chose?

J'ai aussi un - (void) setEditing: (BOOL) édition animée: (BOOL) animation mise en place de la méthode. Cela ferait-il une différence? Je suis un peu perdu en ce moment. Merci d'avance.

Répondre

2

Étant donné que vous réutilisez les cellules, assurez-vous définissez à la fois accessoryType et editingAccessoryType pour chaque cellule et commentez -tableView: accessoryTypeForRowWithIndexPath :. Si rien ne se passe, commentez tout votre code de configuration de cellule dans -tableView: cellForRowAtIndexPath :, en retournant une cellule vide avec un accessoire.

+0

J'ai fait tout ça. Réduction de ma méthode aux termes les plus simples. - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath { \t NSString statique * RFECellIdentifier = @ "RFECellIdentifier"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: RFECellIdentifier]; \t \t si (cellule == nil) \t { \t \t // Création d'une cellule pour afficher "Ajouter visite". \t \t cell = [[[UITableViewCell alloc] init] autorelease]; \t} \t cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; \t cellule.editingAccessoryType = UITableViewCellAccessoryNone; \t cellule de retour; } Toujours pas de dés – monotreme

+0

Aussi, je ne suis pas en utilisant un UITableViewController @interface VisitDetailViewController: UIViewController Suis-je manque quelque chose ici? – monotreme

+0

La définition de cell.editingAccessoryType sur UITableViewCellAccessoryNone * masque * l'accessoire lors de l'édition, ce qui explique pourquoi vous n'en voyez aucun lors de la saisie de l'état d'édition. C'est le comportement attendu. Essayez de le définir sur une autre valeur juste pour vous assurer que cela fonctionne. – Costique

0

assurez-vous de ne pas définir cell.editing=YES; semble intuitive, mais bousille l'ensemble des travaux.

Questions connexes