2011-11-02 3 views
0

J'ai réussi à lire certaines valeurs dans une vue de table et à les afficher dans la vue principale d'un SplitViewController. Ce que je voudrais faire est de taper sur une ligne de la vue maître et d'afficher les détails sur le detailViewController mais dans une cellule personnalisée d'un TableView qui a une étiquette et un champ de texte.Application de détail principal

Lorsque je tape sur la ligne dans la table MasterView, je n'arrive pas à obtenir les détails pour remplir la cellule personnalisée detailview.

J'ai essayé quelque chose comme

if (indexPath.row == 0) { 
    lbPerson.text = @"Name"; 
    tfPerson.text = @"John"; 
    tfPaciente.placeholder = @"Name"; 
}else if (indexPath.row == 1) { 
    lbPerson.text = @"Address"; 
    tfPerson.text = @"Street blabla"; 
    tfPerson.placeholder = @"Address"; 
} 

mais je ne suis pas sûr où placer mon code et comment mettre à jour mon detailview tableview quand je tape ma table MasterView

Merci!

Répondre

0

Dans votre DetailView vous devriez avoir "id detailItem", c'est alors défini dans la méthode déléguée:

- (void) setDetailItem: (id) newDetailItem {

if (_detailItem != newDetailItem) { 

    _detailItem = [newDetailItem retain]; 

    // Update the view. 
    [self configureView]; 
} 

}

- (void) {configureView

// Update the user interface for the detail item. 
if (self.detailItem) { 
    //do something ... reload tableview or change values etc 
} 

}

Pour appeler cette méthode dans votre MasterView mettre en œuvre quelque chose comme ceci:

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

self.YOURDETAILVIEWCONTROLLER.detailItem = @"Example"; 
self.YOURDETAILVIEWCONTROLLER.title = [NSString stringWithFormat:@"You Pressed Row %d", indexPath.row]; 

}

Cela appellera la première méthode qui définit la vue détaillée, évidemment à travers cet élément de détail, vous pouvez définir les propriétés de detailView.

Questions connexes