2012-07-02 8 views
9

Esta es mi primera aplicación usando storyboards/segues, y estoy bastante seguro de que la respuesta es fácil, pero lo haré ser lo más completo posible al describir mi problema.Estableciendo un identificador para un Xcode Storyboard Segue en un UITabBarController, y obteniendo un puntero a su controlador de vista

Estoy haciendo una aplicación simple que tiene una escena Controlador de barra de pestañas y dos controladores de vista.

View of my Storyboard, with one of the "Relationships" highlighted

Mi aplicación pone en marcha al ser enviado una URL desde otra aplicación. El método application:openURL:sourceApplication:annotation: en el delegado de la aplicación realiza un trabajo para determinar

  • qué pestaña para que aparezca en primer lugar, y
  • qué información para mostrar en ella.

Mi objetivo es utilizar el método de performSegueWithIdentifier (estoy abierto a alternativas sin embargo) desde dentro de la AppDelegate para seleccionar la pestaña, y también encontrar una manera de enviar un método para la instancia del controlador de vista creado por el guión gráfico.

Número 1 es que no puedo establecer un identificador. Cuando selecciono la pestaña "relación", no hay opciones disponibles en el Inspector de Atributos (dice "No aplicable"). ¿Cómo configuro un nombre para este segue? ¿Puedo? ¿O hay alguna regla según la cual UITabBarController segues no se pueden desencadenar mediante programación?

Número 2 es que no puedo encontrar una manera de tener un puntero al controlador de vista. Pre-Storyboard Me gustaría alloc y init un nuevo controlador de vista y luego configurarlo, pero aquí si lo hago, no se muestra cuando se inicia mi aplicación (creo que esto se debe a que Storyboard muestra una instancia diferente de la misma vista controlador.)

Sé que esta publicación es larga, pero siento que me falta algo simple. ¿Qué es?

Respuesta

0

Parece que necesita tener su AppDelegate set the entry point en su storybard.

+0

Esa pregunta sugiere el uso de 'instantiateViewControllerWithIdentifier'. Esto crea una nueva instancia del controlador de vista, por lo que los cambios que realizo (como establecer texto en UILabels, por ejemplo) no aparecen cuando se inicia la aplicación. A menos que establezca el controlador de vista en el controlador de vista "raíz", en cuyo caso, la Barra de Tabulación ya no aparecerá. –

Cuestiones relacionadas