2011-11-16 2 views
13

Est-il possible de créer une séquence de storyboard à partir d'un contrôleur de vue à lui-même? J'ai un tas d'entités qui ont des entités connexes. J'aimerais pouvoir afficher une entité associée en utilisant le même contrôleur de vue qui affiche l'entité. Mais je n'arrive pas à créer une séquence qui affichera une nouvelle instance du contrôleur de vue d'origine.Comment créer un segue storyboard à partir d'un contrôleur de vue?

Est-ce simplement interdit? Merci!

Répondre

22

Eh bien, voici une solution qui n'est pas tout à fait la même chose mais qui m'apporte ce que je veux. Je l'ai trouvé comme une réponse à this question. La raison pour laquelle je pensais que je devais utiliser un segue plutôt que la bonne vieille poussée programmatique d'un contrôleur de vue sur la pile du contrôleur de navigation est que j'avais configuré les IBOutlets du contrôleur de vue dans le storyboard. Je n'avais pas réalisé que vous pouviez créer une copie du contrôleur de vue telle que présentée dans le storyboard sans utiliser de séquence de storyboard. Vous pouvez! Pour voir comment le faire, vérifiez cette autre question et votez le répondeur!

+4

Je vous ai donné deux avantages parce que, même si personne n'a répondu, vous vous trouvez la solution et le soin de le publier pour aider les autres. C'est l'idée!! – Daniel

3

Vous pouvez effectuer un Ctrl-clic (ou un clic droit-glisser) d'un élément (UIButton, etc.) vers le contrôleur de vue conteneur.

(? Avez-vous essayé ce que je fais en ce moment, j'ai un stock UIViewController qui ne cesse d'ajouter lui-même indéfiniment les contenant UINavigationController pile via un Segue push normal.)

+0

Cela est bon, mais vous ne pouvez pas faire glisser le ViewController vers lui-même dans le cas où vous souhaitez un appel que vous pouvez appeler par programmation. –

+1

Vous devriez toujours pouvoir nommer le segue (le champ 'Identifier' dans l'inspecteur d'attributs) dans l'éditeur de storyboard et le référencer via' -performSegueWithIdentifier: sender: 'sur votre' UIViewController' dans le code. –

1

Ouais, il est ennuyeux que je ne peut pas faire un segue 'manuel' à lui-même. Ce que j'ai fait a été ajouté un UIButton à ma vue et lui a donné une action de pousser au même contrôleur de vue, et ai alors caché ce bouton. Ensuite, je peux nommer le segue et le référencer dans le code.

Hacky, mais fonctionne.

+0

En effet hacky, mais je ne vois pas d'autre solution puisque j'ai une section personnalisée. La réponse acceptée (référencée) utilise l'animation push par défaut, ce qui n'est pas ce que je veux. Je me sens sale maintenant j'ai fait ceci: x +1 néanmoins. – ar34z

Questions connexes