IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement iOS Discussion :

editer une cellule de tableViewController


Sujet :

Développement iOS

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur iphone/android
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur iphone/android
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut editer une cellule de tableViewController
    Bonjour,
    je suis débutante en objective c, iOS, xcode ( XIB), j'aimerais vous demander de bien vouloir m'indiquer des tutoriels pour que je puisse faire ceci:

    J'ai une tableView qui contient des cellules insérées via un autre viewController, ce que j'aimerais faire c'est à la selection d'une cellule je puisse la modifier, j'ai cherché sur google pour avoir une idée ou encore mieux un tutorial mais j'arrive pas à mettre la main dessus.
    S'il vous plait, si vous avez déjà effectué cela , si vous pouviez me guider ça serait vraiment formidable.

  2. #2
    Candidat au Club
    Femme Profil pro
    Développeur iphone/android
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur iphone/android
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Hum je m'exprime mal ou autre ou bien personne n'a d'idée sur cela??
    Je dis ça car j'aimerais savoir si je me trompe, dans ma façon de poser des question
    Merci

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 632
    Points : 10 560
    Points
    10 560
    Par défaut
    Une réponse vite-faite:
    Si tu veux une cellule éditable, il faut avoir dans chaque cellule un textview ou autre chose.
    Par contre, il faudra faire attention aux callbacks pour l'appel ou le retrait du clavier.

    Voici un bout de code pour faire des cellules "aux petits oignons", à modifier et à corriger évidement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    - (UITableViewCell*) tableView:(UITableView*) tableView cellForRowAtIndexPath:(NSIndexPath*) indexPath {
    	int row = indexPath.row;
    	NSString* identifier = [NSString stringWithFormat:@"%d", row];
    
    	CGRect cellRectangle = CGRectMake(0.0, 0.0, 296.0, 57.0);
    	UITableViewCell* cell = [[[UITableViewCell alloc] initWithFrame:cellRectangle reuseIdentifier:identifier] autorelease];
    
    /*	// Ou alors, à voir
    	UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    
    	if (cell == nil) {
    		cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease];
    	}
    
    	[cell setFrame:CGRectMake(0.0, 0.0, 296.0, 57.0)];
    */
    
    	if ((row >= 0) && (row < max)) {
    		[self getCell:cell];
    	}
    
    	return cell;
    }
    
    
    // On peut s'amuser grandement: il faut lire la documentation pour voir toutes les possibilités
    - (void) getCell:(UITableViewCell*) cell {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    
        UILabel* label = nil;
    
        // Date
        CGRect cellRectangle = CGRectMake(7.0, 0.0, 83.0, 19.0);
        [self initLabel:&label WithAlignment:UITextAlignmentLeft AndRect:cellRectangle];
    
        label.text = XXXX;
        label.text = [label.text uppercaseString];
    
        [cell.contentView addSubview:label];
        [label release];
    
        // Type + Platform
        cellRectangle = CGRectMake(90.0, 0.0, 202.0, 19.0);
        [self initLabel:&label WithAlignment:UITextAlignmentRight AndRect:cellRectangle];
    
    //...
    
        [cell.contentView addSubview:label];
        [label release];
    
        // Variant
        cellRectangle = CGRectMake(7.0, 19.0, 143.0, 19.0);
        [self initLabel:&label WithAlignment:UITextAlignmentLeft AndRect:cellRectangle];
    
    //...
    
        [cell.contentView addSubview:label];
        [label release];
    
        // Informations
        cellRectangle = CGRectMake(150.0, 19.0, 143.0, 19.0);
        [self initLabel:&label WithAlignment:UITextAlignmentRight AndRect:cellRectangle];
    
    //...
    
        [cell.contentView addSubview:label];
        [label release];
    }
    Et ensuite ce sont dans les méthodes – selectRowAtIndexPath:animated:scrollPosition: et – deselectRowAtIndexPath:animated: qui faudra configurer l'attribut editable de la textview (ou autre, et à voir comment récupérer cette textview)

  4. #4
    Candidat au Club
    Femme Profil pro
    Développeur iphone/android
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur iphone/android
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Voilà ce que j'ai fait
    Avant tout merci foetus de m'avoir guidé,

    Voilà une solution que j'ai enfin fini par mettre en place (après avoir lu un tas de tutos! :p ) mais j'en apprend des choses sur l'ios .

    Dans le tableViewController où on veut récupérer le contenu d'une cellule, on créer un protocole et un delegate:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    tableViewControllerA 
    @protocol Replace <NSObject>
    - (void)addItem:(tableViewControllerA  *)controller didFinishEnteringItem:(NSString *)item;
    @end
    @property (nonatomic,retain) id <Replace> replaceDelegate; 
    @property (retain, nonatomic)  NSString *textAAfficher;
    et dans la méthode tableView:tableView didSelectRowAtIndexPath:
    
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
     {
        NSUInteger tableSelection = indexPath;
         row1 = [tableSelection row];// récupére le num de la cellule sélectionnée
         viewControllerB *to = [[  viewControllerB alloc] init];
         ToDoItem *toDoItem = [[self.toDoItems objectAtIndex:row1]retain]; // car j'ai u tableau d'objets 
         self.textAAfficher= toDoItem.itemName ;//affecter le contenu de la ligne à la propriété textAAficher
         to.textAAfficher=self.textAAfficher;// l'affecter à la propriété de   viewControllerB
         [self.replaceDelegate addItem:self didFinishEnteringItem:self.textAAfficher]; // appel à la methode du protocole
         [self presentViewController:to animated:YES completion:nil];
        //
     }
    
    
    Dans le ViewControllerB
    @property (retain, nonatomic)  NSString *textAAfficher;//propriété de viewControllerB
    et on implémente 
    
    - (void)addItem:(tableViewControllerB *)controller didFinishEnteringItem:(NSString*)item
    {
    // elle permet de retournée la cellule du tableViewController en format chaine de caractère
    
    }
    
     dans ViewDidLoad:
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
       tableViewControllerA *add = [[  tableViewControllerA alloc]init];
        add.replaceDelegate=self;
        [add.replaceDelegate addItem:add didFinishEnteringItem:self.textAAfficher];// la method du protocole appellée
        self.textField.text=self.textAAfficher;// transfert de la donnée dans le textField
       [[self navigationController] pushViewController:add animated:YES];
        
    }

    Donc cette solution permet d'éditer la cellule un tableView dans le textField d'un viewController,
    j'espère que ça aidera quelqu'un !!!!!!!

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 129
    Points : 144
    Points
    144
    Par défaut
    ça me parait bien compliqué pour une simple édition d'un textfield.

    Dans un tableView tu peux récupéré la ligne sélectionné et ensuite tu récupére le textfield via son index. Et là tu peux travailler

Discussions similaires

  1. [XL-2010] Editer une cellule dans une ListView
    Par FranPier dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2013, 14h07
  2. [Tlistview]Editer une cellule?
    Par cfdev dans le forum C++Builder
    Réponses: 13
    Dernier message: 24/01/2009, 09h06
  3. Editer ou non une cellule dans une stringGrid ?
    Par jamah dans le forum Composants VCL
    Réponses: 3
    Dernier message: 31/03/2006, 17h52
  4. Edition d'une cellule d'un JTable
    Par teuteu62 dans le forum Composants
    Réponses: 3
    Dernier message: 05/01/2006, 15h16
  5. Editer une cellule de Jtable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 22/04/2004, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo