2013-06-05 2 views
3

J'ai un type de cellule personnalisé que j'ai défini complètement dans le code (sous-classe UITableViewCell) car I can't get it to work using a xib file. Je peux l'ajouter à une cellule dans une table de mon storyboard et ça s'affiche très bien. Cependant, je veux que la sélection de cette cellule déclenche une séquence à un autre écran. Je peux créer le segue dans le storyboard dans xcode, mais il ne semble pas fonctionner réellement quand je cours le code (c.-à-d. Rien ne se passe, la cellule est juste choisie). J'ai aussi une cellule de titre/sous-titre dans la même table qui a une section séparée sur un écran différent et que ça marche très bien (toucher cette cellule charge la page suivante comme prévu), donc ça semble être un problème spécifique au cellule personnalisée. Je soupçonne que quelque chose dans la cellule personnalisée remplace les segues ci-joint.Utilisation de segments avec une cellule de tableau personnalisée

Comment puis-je m'assurer que ma cellule personnalisée peut utiliser les segments définis dans le storyboard?

+0

Avez-vous appelé la méthode _performSegueWithIdentifier_? –

Répondre

4

Vous pouvez définir un identifiant pour votre segment dans le storyboard, et tableView:didSelectRowAtIndexPath: appeler [self performSegueWithIdentifier:@"mySegueID"];. J'espère que cela t'aides.

+0

Quelle classe aurait 'didSelectRowAt'? J'ai trouvé 'RowSelected' dans UITableViewController, le même endroit où j'ai' PrepareForSegue'. J'ai ajouté du code là pour appeler 'PerformSegue' mais il semble que' RowSelected' ne soit jamais appelé. –

+0

Il s'agit d'une méthode 'UITableViewDelegate', qui devrait être implémentée dans votre sous-classe' UITableViewController'. Voici un [link] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html) avec ce délégué. – Levi

+0

Cela ne semble pas tout à fait correspondre aux classes xamarin. Mais il y a un 'RowSelected' dans' UITableViewSource' qui semble être appelé et je configure un événement auquel je peux m'abonner depuis 'UITableViewController' pour appeler' PerformSegue'. Ne semble pas tout à fait correct, mais semble fonctionner. –

Questions connexes