2011-10-26 10 views
17

He creado un proyecto simple con un guión gráfico, y ahora me doy cuenta de que no son compatibles con iOS 4.x y que me gustaría que los usuarios con estos dispositivos puedan descargar mi aplicación La aplicación es solo un controlador de vista flipside, y es bastante simple, pero si hay una forma de extraer los XIB del guión gráfico, preferiría hacer eso que recrearlo.Extracción de nibs/xibs de guiones gráficos (iOS)

tl; dr: ¿obteniendo .xibs de un .storyboard?

Respuesta

9

Descubrí que el método más simple era copiar y pegar los elementos del guión gráfico, una a la vez, y recrear los controladores de vista para cada uno.

Sin embargo, para cualquiera que hace esto, cabe destacar que usted tiene que hacer una xib para MainWindow, además de todas sus otras XIBs, y conectarlo en consecuencia, incluida la configuración de la ventana y la aplicación delegado. Los guiones gráficos manejan todo esto por ti, por lo que cuando intentas evitarlos, tienes una gran cantidad de configuración manual que crea proyectos que no son guiones gráficos desde los controles de inicio para ti. No hagas lo que hice e intenta convertir tu controlador raíz en tu controlador de vista principal, ya que se volverá loco diciendo cosas sobre cómo la aplicación UIA no cumple con los valores clave de las propiedades individuales de tu XIB.

archivos
+0

si pudieras compartir el proyecto de ejemplo, sería genial! – Firdous

1

No es posible obtener archivos xib. Su guión gráfico está compilado para los archivos semilla y empaquetado en un archivo storyboardc dentro de su paquete de aplicaciones.

Para localizar los archivos de punta, seleccione su ejecutable incorporado en Finder y haga clic derecho en 'Mostrar los contenidos del paquete'. Navegue al directorio en.lproj y encuentre el archivo storyboard.storyboardc. Haga clic derecho en "Mostrar contenido del paquete" nuevamente en el archivo del guión gráfico y encontrará sus plumillas. Sin embargo, no te servirán de mucho porque son nichos compilados binarios.

0

Es posible que no pueda extraer los .xibs del guión gráfico, pero intente esto. Haga que su proyecto basado en .xib se abra y cree los archivos .xib vacíos para sus vistas y también tenga el proyecto del guión gráfico abierto al mismo tiempo. Seleccione todos los elementos de la interfaz de usuario en su escena de guiones gráficos y simplemente arrástrelos y suéltelos en el proyecto basado en .xib. He hecho esto al revés (pasando de .xib a guión gráfico) sin problemas.

20

XI ter no pueden ser extraídos del guión pero se puede crear una instancia UIViewControllers fuera del guión gráfico creando instancias de su guión gráfico en un objeto UIStoryboard y conseguir el UIViewController a través de su identificador, así es como lo hago:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName: 
          @"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]]; 

    UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"myId"]; 

espero que esto ayude.

+0

Gracias, pero mi objetivo principal era evitar el uso de guiones gráficos en el proyecto una vez que ya se había creado con ellos. Tuve que agregar compatibilidad con 4.0 para el cual los guiones gráficos no se pueden usar. – Tim

+0

No hay forma de usar Outlet para referirse al controlador con salida, ¿no es así? –

+1

@Sparq, ahorra tiempo, he estado buscando esto, gracias. – Mysteltainn

4

Como algunos otros han sugerido, su mejor opción es clonar las vistas del guión gráfico en un XIB.

enter image description here

+0

Bueno, esta es la forma más sencilla hasta que Apple agregue la opción exportar a xib en una vista seleccionada en un guión gráfico. –

+0

Aquí lo que está haciendo es tomar la vista de la escena y convertirla en una subvista de la Vista de XIB. ¿Puedes hacerlo mejor al reemplazar la vista del XIB con eso de la escena? Intenté esto, y pareció funcionar – etayluz

Cuestiones relacionadas