2010-11-22 11 views
2

J'ai obtenu un UITableView sur mon application sans utiliser un NIB. Cependant, parce que je le fais de cette façon, je ne peux pas obtenir les propriétés d'édition généralement associées à un UITableView régulier. Par exemple, si j'utilise plutôt @interface TableViewController: UITableViewContoller et ajoute un editButtonItem dans la barre de navigation, les lignes de suppression et de déplacement seront automatiquement incluses une fois que j'appuierai sur ce bouton.Comment puis-je appeler les propriétés d'édition d'un UITableView par programme

Cependant, rien ne fonctionne sur mon UITableView. S'il vous plaît aider.

// in .h 
@interface TableViewController : UIViewController 
<UITableViewDelegate, UITableViewDataSource> 
{ 
UITableView *tView; 
NSMutableArray *aMutArray; 
} 



    // in .m 
    -(id)init 
    { 
    [super initWithNibName:nil bundle:nil]; 

    [[self navigationItem] setLeftBarButtonItem:[self editButtonItem]]; 
    [[self navigationItem] setTitle:@"ReorderingTableCell"]; 

    return self; 
    } 

    - (void)loadView 
    { 
    [super loadView]; 

    CGRect tableFrame = CGRectMake(0, 0, 320, 300); 
    tView = [[UITableView alloc]initWithFrame:tableFrame style:UITableViewStylePlain]; 
    [[self tView] setDelegate:self]; 
    [[self tView] setDataSource:self]; 

    aMutArray = [[NSMutableArray alloc] initWithObjects:@"first", @"second", @"third", nil]; 

    [[self view] addSubview:tView]; 
    } 

puis un tas de méthodes déléguées comme:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath, 
- (void)setEditing:(BOOL)flag animated:(BOOL)animated 

etc ...

Je ne veux pas entrer dans les détails des méthodes déléguées parce que je crée une nouvelle projet avec un UITableViewController simple et cela fonctionne. BTW, quand je cours le code, j'ai mis des points d'arrêt et les méthodes de délégué sont appelées mais rien ne se produit. Il ne me donne pas l'icône de suppression sur la gauche de la cellule et aucune icône de cellule en mouvement sur le côté droit. Rien ne se passe.

Merci beaucoup !!!

Répondre

5

Vous devez appeler -[UITableView setEditing:animated:] pour activer et désactiver le mode d'édition.

+0

Merci beaucoup !!!! – okysabeni