2010-08-02 4 views
0

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?

Répondre

3

Il s'agit de UITableView standard avec son style défini sur . "Date", "Genre" et "Caractères principaux" sont des en-têtes de section - définissez-les en utilisant la méthode tableView:titleForHeaderInSection: dans la source de données.

+0

@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

+0

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

+0

@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

Questions connexes