2010-05-15 2 views
2

J'ai déclaré UITableView dans le fichier .h. J'ai 5 section dans la vue de table, maintenant je dois placer le viewview.editing = oui seulement pour la section 4.Comment définir l'édition est oui pour une section particulière dans l'iPhone

Comment est-ce que je peux afficher le bouton + à côté de la section 4 et avoir toutes les autres sections dans l'édition = NON?

myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0,0,320,415) style:UITableViewStyleGrouped]; 
     myTableView.delegate = self; 
     myTableView.dataSource=self; 
     [myTableView setSectionFooterHeight:0]; 
     [myTableView setSectionHeaderHeight:15]; 
     [myTableView setSeparatorColor:[UIColor lightGrayColor]]; 
     myTableView.backgroundColor = [UIColor colorWithRed:0.85546875 green:0.8828125 blue:0.92578125 alpha:1]; 
     [myView addSubview: myTableView]; 


I tried like this it is not working. 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if(section==0) 
    { 
     myTableView.editing = NO; 
     myTableView.allowsSelectionDuringEditing = NO; 
     return 3; 
    } 
    else if(section ==1) 
    { 
     myTableView.editing = NO; 
     myTableView.allowsSelectionDuringEditing = NO; 
     return 2; 
    } 
    else if(section==4) 
    { 
     myTableView.editing = YES; 
     myTableView.allowsSelectionDuringEditing = YES; 
     if(isEdit == YES) 
     { 
      if([editObject.contactList count]>0) 
      { 
       return [editObject.contactList count]+1; 
      } 
      else 
      { 
       return 1; 
      } 
     } 
     else if(isEdit == NO) 
     { 
      if([addContactList count]>0) 
      { 
       return [addContactList count]+1; 
      } 
      else 
      { 
       return 1; 
      } 
     } 

    } 
    else if(section==2) 
    { 
     myTableView.editing = NO; 
     myTableView.allowsSelectionDuringEditing = NO; 
     return 1; 
    } 
    else if(section==3) 
    { 
     myTableView.editing = NO; 
     myTableView.allowsSelectionDuringEditing = NO; 
     return 1; 
    } 
    return 0; 
} 

Je reçois le bouton + dans la section 4, mais toutes les autres sections sont déplacés vers le côté droit.

Répondre

2

Mettre en oeuvre

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
// Return NO if you do not want the specified item to be editable. 
return YES; 
} 
+0

Merci beaucoup –

+0

Cela est assez évident, mais assurez-vous que vous avez défini la propriété allowSelectionDuringEditing sur true. Vous pouvez le faire dans le code ou dans le concepteur xib. Plus de détails ici: http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableView_Class/Reference/Reference.html#jumpTo_4 – Helephant

0

Implémentez - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath et renvoyez UITableViewCellEditingStyleNone pour les lignes des sections que vous ne souhaitez pas modifier.

+0

+ icône est pas besoin pour d'autres Section, ont besoin que pour la section particulière et ses lignes. –

Questions connexes