2010-03-17 6 views
0

J'ai créé une application iPhone en utilisant le modèle basé sur la vue; le problème est que je veux charger une vue de la table sur le clic du bouton. J'ai essayé ceci:chargement de la table en cliquant sur le bouton

initWithNibName:@"xibfile" bundle:[NSBundle mainBundle]... 

mais la vue de table ne charge pas, que dois-je faire?

Répondre

0

En supposant que vous utilisez un contrôleur de navigation, dans le code lié à l'action associée à votre bouton, faire quelque chose comme

YourTableViewController *yourTableViewController = [[YourTableViewController alloc] initWithNibName:@"YourTableViewController" bundle:nil]; 
[self.navigationController pushViewController:yourTableViewController animated:YES]; 
[yourTableViewController release]; 

Sinon, vous pouvez présenter votre contrôleur de vue de la table en vue modal.

+0

Il utilise une application vue –

0

Si vous vous demandez comment charger un contrôleur de vue, le modèle ressemble à ceci:

MyViewController* myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; 
0

Si vous ne l'utilisez ou directement UITableViewController le sous-classement Je suppose que votre UITableView est un Ivar de votre sous-classe UIViewController.

Si tel est le cas, vous devez affecter votre sous-classe UIViewController à être le délégué de UITableView et définir votre UIViewController pour qu'il soit conforme au protocole UITableViewDelegate. Vous devrez également créer un objet de source de données conforme au protocole UITableViewDataSource. Définissez ensuite la source de données UITableView comme objet UITableViewDataSource.

Donc dans votre fichier d'en-tête, vous aurez:

@class SomeDataSource; 
@interface{ 
UITableView *tableView; 
SomeDataSource *dataSource; 
} 

Ensuite, dans votre bloc de mise en œuvre, probablement viewDidLoad, vous devez inclure:

tableView.delegate = self; 
tableView.dataSource = dataSource; 
Questions connexes