2011-02-02 13 views
6

Tengo una aplicación, diga 'MyApp', que carga de forma predeterminada el controlador de vista 'MyAppViewController' siempre que se inicia la aplicación. Más tarde, agregué un nuevo controlador de vista 'NewViewControler' al proyecto.Cómo cambiar el controlador de vista predeterminado que se carga cuando se inicia la aplicación?

Ahora quiero que el 'NewViewController' sea mi controlador de vista predeterminado que se carga cuando se inicia la aplicación.

Háganme saber qué cambios necesito hacer en mi proyecto para lograr esto.

Respuesta

7
  1. Abra MainWindow.xib y reemplace MyAppViewController con NewViewController.
  2. En la clase de delegado de su aplicación, reemplace la propiedad de MyAppViewController por una para NewViewController. Conecte NewViewController a su nueva toma de corriente en Interface Builder.
  3. En application:didFinishLaunchingWithOptions: agregue la vista de NewViewController a la ventana en lugar de la vista de MyAppViewController.
+0

RE # 1: He encontrado que si solo cambia la clase de MyAppViewController a NewViewController, esto a veces parece confundir Interface Builder. Mi aplicación se compilaría, pero cuando la ejecutara, fallaría y seguiría intentando cargar el viejo tipo de Controlador de Vista, que por supuesto había eliminado. Pude solucionarlo eliminando MyAppViewController en MainWindow.xib, luego agregué View Controller y cambié su clase a NewViewController, y volví a conectar la salida de App Delegate al NewViewController. YMMV. – gulchrider

2

Lo más probable es que su archivo NIB principal todavía esté configurado como "MainWindow", verifique su archivo * -Info.plist.

Si ese es el caso, puede abrir MainWindow.xib en Interface Builder. Debería ver un elemento de View Controller. Abra la ventana del inspector y cambie la Identidad de clase para señalar su nueva clase. Eso debería encargarse de crear una instancia de tu clase.

Como esto se siente como una pregunta "novato" (por favor, perdón si me equivoco) También recomendaría altamente el siguiente artículo:

iPhone Programming Fundamentals: Understanding View Controllers

me ayudó a entender todo el asunto y el ViewController Interacción IB ..

+0

Como menciona Ole Begemann, también debería cambiar las referencias en AppDelegate y conectarlas con IB.Los artículos vinculados también demuestran esto. – adnans

0

En cuanto a mí con xcode 4.3.3, todo lo que tuve que hacer fue simplemente reemplazar todas las referencias de 'MyAppViewController' con 'NewViewController' en los archivos h de AppDelegate.

Quizás todos los demás pasos se hayan tomado en las versiones más nuevas de xcode.

Espero que esto ayude.

15

Es fácil, simplemente:

  • Abra su Storyboard
  • Haga clic en el controlador de la vista correspondiente a la vista que desea ser la vista inicial
  • Abrir los atributos inspector
  • Seleccione el La casilla de verificación "Es el controlador de vista inicial" en la sección Controlador de vista
Cuestiones relacionadas