2010-08-25 6 views
0

Comment puis-je passer les premières données de ligne tableview à deuxième vue ligne de détailsiphone: le bouton de divulgation du SDK ne répond pas du premier TableView au second détail TableView?

J'utilise [cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

ou

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

pour afficher le bouton haut de la communication dans chaque cellule

il peut, j'ajoute également des actions dans

- (void)tableView:(UITableView *)tableViewaccessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{ 

NSLog(@"disclosure button %@ touched",indexPath.row); 

}

Mais quand je touche le bouton d'information Je n'ai rien apparaît dans la console

Que j'ajouter des actions dans

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

// carry Alarm Name text into sub-table-view to look for detail time and text info 
NSLog(@"Alarm Name = %@", [alarmName objectAtIndex:indexPath.row]); 
NSLog(@"Index Path Raw# = %i", indexPath.row); 

// Navigation logic may go here. Create and push another view controller. 
AlarmDetailTableViewController *detailViewController = [[AlarmDetailTableViewController alloc] initWithNibName:@"AlarmTableViewController" bundle:[NSBundle mainBundle]]; 
// ... 
// Pass the selected object to the new view controller. 

[self.navigationController pushViewController:detailViewController animated:YES]; 
[detailViewController release]; 
detailViewController = nil; 

}

Il peut informé sur la console mode

Mais je pense qu'il semble toujours le même détail Affichage lorsque je touche des lignes du premier niveau TableView

Comment afficher une nouvelle vue détaillée avec les données du niveau un?

par exemple

Pour le tableView1.row0.text = détail view.title

et afficher d'autres données sous le titre

si vous avez besoin le code que je peux le télécharger

mon patron a dit que ce n'est pas un grand secret à l'intérieur ...

Merci beaucoup

+0

Je ne suis pas sûr que je comprends parfaitement. Demandez-vous comment obtenir le titre 'detailViewController' pour le texte d'une cellule que vous sélectionnez? –

+0

oui, c'est ce que je veux dire –

+0

Oh, je pense que je sais comment le faire avec un exemple de code! Ce n'est pas facile, mais je pense que je peux comprendre ce problème J'ai lu le livre de "débutant Iphone 3 développement" chapitre 9 p.247 ~ 267 –

Répondre

3

Peut-être que le problème est avec votre:

- (void)tableView:(UITableView *)tableViewaccessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{ 

qui devrait lire:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{ 
+0

Ah HA! Peut-être l'avez-vous eu! –

+0

Le diable est dans les détails. :) Je suis venu ici à la recherche d'un problème personnel; mon appel ne se déclenchait pas non plus ... heureusement (ou malheureusement) le problème s'est envolé comme par magie. – Marius

+0

Mon problème était que je n'avais pas correctement défini le délégué tableView. N'oubliez pas de mettre dans l'en-tête .h-files. – Groot

0

Ok, si vous avez appuyé sur le bouton accessoire que montrer une autre vue détaillée

nous devons ajouter une vue détaillée

d'abord créer un « new navigation based application », ex FirstView

clic droit sur le dossier de la classe et choix « add new File » choix d'une nouvelle vue que vous voulez d'affichage

ex I sélectionné un nouveau tableview nommé « DetailView »

que premier rendez-vous à la DetailView.m vont donner une section et des numéros de ligne

ou déclarer la mise en page

que revenir à FirstView.h

ajouter #import DetailView

aller à FirstView.m

trouver cette méthode - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

et utiliser sous classe DetailView pour créer une nouvelle vue

ajouter les codes comme celui-ci

DetailView *detailView =[[DetailView alloc]init]; 
detailView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self.navigationController pushViewController:detailView animated:YES]; 

vous pouvez ajouter une vue que vous souhaitez afficher

Questions connexes