Question débutant:comment ajouter des views differentes à une tableview?
Bonjour,
je recherche depuis quelques jours un tutorial expliquant comment ajouter des vues differentes à une tableview. Les seuls exemples que j'ai pu trouver et l'ajout d'une view identique. Est ce que certains membres pourraient expliquer la procédure. Merci.
Jaz
je recherche depuis quelques jours un tutorial expliquant comment ajouter des vues differentes à une tableview. Les seuls exemples que j'ai pu trouver et l'ajout d'une view identique. Est ce que certains membres pourraient expliquer la procédure. Merci.
Jaz
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
En utilisation standard
Le principe économique de la table view est de posséder une vue (NSCell) par colonne. Cette Cell est réutilisée par la table view pour redessiner chaque zone de la vue que constitue la colonne. Ainsi, on peut différencier les cell de chaque colonne (dans IB : Interface Builder), mais la structure reste identique par ligne.
En utilisation custom
Il faut sous-classer NSCell, et déclarer par le code la cell qui sera utilisée dans (chaque) colonne, c'est-à -dire faire par le code ce que l'on fait dans IB en standard.
Après tu utilises les méthodes de représentations graphiques que tu veux dans ta NSCell ==> doc de NSCell.
Voir la doc "Control and Cell Programming For Cocoa"
(pour habitués de Cocoa , only)
En fait ma tableview a déjà des cells personalisées ( image, titre et sous titre differents pour chaque ligne ). Le problème que je n'arrive pas à résoudre est comment appeler une view differente de chaque ligne. Voici un extrait du ViewController qui permet de personnaliser chaque cell:
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
arryData = [[NSArray alloc] initWithObjects:@Adresse et Horaires,@Localisation,@Reserver ,@Photos,@Forum,@FAQ ,@Votre Avis,@Video,nil];
imagesList = [[NSArray alloc] initWithObjects:@1.jpg,@2.jpg,@3.jpg,@4.jpg,@5.jpg,@6.jpg,@7.jpg,@8.jpg,nil];
descpList = [[NSArray alloc] initWithObjects:@Sous titre1,@Sous titre2,@Soustitre3,@Soustitre4,@Soustitre5,@Soustitre6,@Soustitre8,@Soustitre9,nil];
self.title = @TitreA;
[super viewDidLoad];
}
Si j'ai bien compris, les lignes de la TableView se remplissent par l'appel de données contenus dans un Array ( image, titre et sous titre ). Comment donc ajouter un lien à une vue differente par l'intermédiare de cet Array?
j'espere m'etre fait comprendre et merci par avance car la je calle vraiement sur ce problème.
Jaz
Dans ce cas, regarder
• tout ouvrage de base sur iPhone qui propose tous un chapitre sur les UITableView
• ou un tutoriel voir dans la rubrique articles des tutoriels et des liens.
• la doc Table View Programming Guide For IPhone OS.
Confirme-moi que tu es bien sur iPhone que je replace ton post dans la bonne section.
je suis bien sur iphone.
j'ai repris les tutoriaux concernant les tableview, mais je n'en ai pas trouvé reprenant l'appel de vue differente pour chaque ligne. Si tu en connais un à me conseiller peut etre? Malgré Google et meme en anglais, je n'ai pas trouvé.
Merci
Jaz
Je peux te conseiller ce tutoriel en Français pour apprendre à utiliser les tableviews sur iPhone: http://www.ipup.fr/page.php?id=352
bon courage
Mais là , même si ce n'est pas si complexe une fois qu'on la fait, il va te falloir plus que des tutoriaux : livres + doc Apple .
Si ce n'est pas indiscret, que veux-tu en faire ?
je reformule ma question :
j'ai une tableview que j'ai remplie avec un array. ( image, titre et sous titre )
Je souhaite acceder à une vue differente à partir de ma tableview pour chaque ligne.
Si quelqu'un a un tutorial à m'indiquer explicitant ce cas??
Je souhaite utiliser ma tableview comme menu.
Merci par avance
jAZ
Le princi
Pour un exemple, on pourra voir l'exemple Apple SimpleDrillDrown, le le tuto du Ranch ou celui d'iPup, ou celui de Stanford University, ou ...
J'ai bien refait les tutos proposés concernant les tableviews;
Quel est le code à utiliser pour que ma View1 soit appelée par ma ligne du tableau1, que ma View2 soit appelée par la deuxième ligne du tableau?
il suffit de déclarer mes views dans mon RootViewController à la suite ??
C'est là ou je suis perdu.
extrait de mon code de mon RootViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here. Create and push another view controller.
NSString *valeurDeLigne=[monTableau objectAtIndex:indexPath.row];
AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@AnotherView bundle:nil];
anotherViewController.monMenu=valeurDeLigne;
[self.navigationController pushViewController:anotherViewController animated:YES];
[anotherViewController release];
}
Je vous conseille à tous les deux de prendre un livre qui structure tout cela, l'expérience montrant qu'on ne peut pas aller très loin avec simplement des tutos.
merci pour ta réactivité; j'ai acheté le livre Programmation COCOA dAaron Hillegas.Merci du conseil.
Est ce que certains d'entre vous pourraient me conseiller pour appeller mes differentes vues dans l'ordre des lignes de mon tableau?
Merci par avance
Jaz