Je souhaite poser une question sur l'application iPhone. J'écris un programme avec UINavigationController, et je peux cliquer sur la cellule UITableView et aller à la page de détail. Cependant, je ne sais pas comment créer la vue de table suivante. (J'utilise le didSelectRowAtIndexPath
pour aller à une autre page) Comment puis-je créer ce type de table? Identique au UITableViewController?Comment créer cette UITableView
alt text http://www.freeimagehosting.net/image.php?02730817e4.png
lien: http://www.freeimagehosting.net/image.php?02730817e4.png
// ---- ----- Mise à jour
Le detailViewController.h
#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> {
UIView *view;
UITableView *tableView;
}
@property (nonatomic, retain) UIView *view;
@property (nonatomic, retain) UITableView *tableView;
@property (nonatomic, assign) id<UITableViewDataSource> dataSource;
@property (nonatomic, assign) id<UINavigationControllerDelegate> delegate;
@end
DetailViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
CGRect cgRct = CGRectMake(0.0, 0.0, 480, 320);
view = [[UIView alloc] initWithFrame:cgRct];
view.autoresizesSubviews = YES;
self.view = view;
tableView = [[[UITableView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 480.0f, 400.0f) style:UITableViewStyleGrouped] autorelease];
[view addSubview: tableView];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 3;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [dataArray count];
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *title = nil;
switch (section) {
case 0:
title = @"First Name";
break;
case 1:
title = @"Middle Name";
break;
case 2:
title = @"Last Name";
break;
default:
break;
}
return title;
}
Comment ajouter les données de la cellule cliquée?
@Vladimir, merci pour votre réponse. Comme je suis le vert de l'application iPhone. Pourriez-vous me donner plus d'explications? et comment définir la tableView: titleForHeaderInSection :? Je vous remercie. – Questions
Vous devez implémenter la méthode tableView: titleForHeaderInSection: dans la source de données de votre table (de la même façon que vous implémentez cellForRowAtIndexPath: méthode par exemple). Aussi cette table a plusieurs sections - vous devez implémenter numberOfSectionsInTableView: méthode et renvoyer la valeur appropriée de celui-ci (3 dans votre cas) – Vladimir
@Vladimir, merci pour votre réponse. J'ai modifié le code en conséquence. Cependant, j'ai un problème qui est la source de données. J'utilise un tableau à afficher dans le rootViewController, comment puis-je savoir lequel de l'élément est sélectionné dans la table et comment afficher dans le format de table comme ci-dessus. Je vous remercie. (S'il vous plaît voir le message ci-dessus, j'ai mis à jour.) – Questions