transferir por pasar otro informacion contactos como cambio iphone xcode ipad storyboard

por - Conversión de Storyboard de iPhone a iPad



pasar contactos de iphone a iphone sin icloud (21)

Un enfoque diferente

  1. Agregue un controlador de vista vacío con controlador de navegación en el guión gráfico del iPad

  2. Cambie la Clase a la Clase de su primer ViewController utilizado para iPhone, "fooViewController"

  3. Agregue el Storyboard-Identifier en el iPhone-Storyboard "fooViewController_storyboard_identifier" para el primer ViewController

  4. Ir a "fooViewController.m"

  5. Agregar variable bool bool nibWasLoadForIpad=false

  6. Ir a viewDidLoad

if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && !nibWasLoadForIpad) { nibWasLoadForIpad=true; UIStoryboard* Storyboard_iphone=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle: nil]; fooViewController *controller = [Storyboard_iphone instantiateViewControllerWithIdentifier:@"fooViewController_storyboard_identifier"]; [self.navigationController pushViewController:controller animated:YES]; self.modalPresentationStyle = UIModalPresentationCurrentContext; }

(p. Sé que el problema es que los fondos de vista se configurarán en blanco)

Tengo una aplicación para iPhone que tiene un guión gráfico. Ahora quiero proporcionar una aplicación de iPad también. Entonces, me pregunté si hay una función que me ayude a convertir mi guión gráfico del iPhone en un guión gráfico del iPad .

Ser especifico:

¿Hay una función similar o solo hay una forma manual?


1 - Crea tu "MainStoryboard_iPad.storyboard";

2 - Haga clic derecho en "MainStoryboard_iPhone.storyboard" y "Abrir como -> Código fuente". Copia todo;

3- Haz clic derecho en tu "MainStoryboard_iPad.storyboard" y "Abrir como -> Código fuente". Pega todo. Ahora busca y cambia:

  • targetRuntime="iOS.CocoaTouch" to targetRuntime="iOS.CocoaTouch.iPad"
  • type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" to type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.iPad.XIB"

4 - Guardar. Ahora vuelve a abrir pero usando el generador de interfaz. Sólo tendrá que volver a organizar.

Este método puede usarse también para archivos .xib


Acabo de cambiar (adicionalmente a la respuesta de @tharkay):

<device id="ipad9_7" orientation="landscape">

y funciona muy bien!

Yo uso esto en XCode 8.3.3


Al leer muchos hilos en descubrí que la solución es:

1. Duplica tu iPhone-Storyboard y renómbrelo MainStoryboard_iPad.storyboard

2.Haga clic derecho en el guión gráfico -> “abrir como” -> “Código fuente”.

3.Busque targetRuntime = "iOS.CocoaTouch" y cámbielo a targetRuntime = "iOS.CocoaTouch.iPad"

5. Busque <simulatedScreenMetrics key="destination" type="retina4"/> y cámbiela a <simulatedScreenMetrics key="destination"/>

4. Ahora guarde todo y haga clic derecho en MainStoryboard_iPad.storyboard "abrir como" -> "IOS StoryBoard" 5. Es posible que también tenga que cambiar sus restricciones. Eso es todo lo que has hecho.


Aquí hay algo que me ahorró horas y podría ayudar a aquellos de ustedes con habilidades de Python.

He estado construyendo una aplicación durante los últimos dos meses, enfocada solo en el iPad que itera el UX con el equipo.

Hoy, centrado en la construcción de la versión para iPhone, seguí los pasos anteriores (¡gracias!) Pero no quería tener que cambiar el tamaño de todos los elementos de la interfaz de usuario desde las dimensiones del iPad en el editor de guión gráfico visual.

Así que escribí este pequeño script de Python Jig para escanear a través del archivo del guión gráfico en busca de x, y, ancho, altura y escala todo por una relación de 320./768. Entonces me permití centrarme en los ajustes finos.

  1. Copia tu guión gráfico en un nuevo archivo. (por ejemplo, iPhoneStoryboard.storyboard)

  2. Ejecute la secuencia de comandos a continuación con el nombre del archivo del guión gráfico copiado como primer parámetro.

  3. Generará el archivo de salida con el sufijo _adjusted.storyboard (por ejemplo, iPhoneStoryboard.storyboard_adjusted.storyboard)

Espero eso ayude...

import re import sys import math afile = sys.argv[1] scale = 320./768. number_pattern = ''[-0-9]+(.[0-9]+)?'' #width_pattern = ''width="[-0-9]+( ?px)?"'' width_pattern = ''width="[-0-9]+(.[0-9]+)?( ?px)?"'' height_pattern = ''height="[-0-9]+(.[0-9]+)?( ?px)?"'' x_pattern = ''x="[-0-9]+(.[0-9]+)?( ?px)?"'' y_pattern = ''y="[-0-9]+(.[0-9]+)?( ?px)?"'' def replacescaledvalue(scale,pattern,sometext,replacefmt) : ip = re.search(pattern, sometext, re.IGNORECASE) if(ip) : np = re.search(number_pattern,ip.group(0)) if(np) : val = float(np.group(0)) val = int(math.floor(val*scale)) sval = replacefmt+str(val)+''"''#+''px"'' newtext = re.sub(pattern,sval,sometext) return newtext else : return sometext fin = open(afile) fout = open(afile+"_adjusted.storyboard", "wt") for line in fin: newline = line newline = replacescaledvalue(scale,width_pattern,newline,''width="'') newline = replacescaledvalue(scale,height_pattern,newline, ''height="'') newline = replacescaledvalue(scale,x_pattern,newline, ''x="'') newline = replacescaledvalue(scale,y_pattern,newline, ''y="'') # print newline fout.write( newline ) fin.close() fout.close()


Debe crear un informe de error con Apple. Se puede decir que es un duplicado mío (10167030) que ha estado abierto desde septiembre de 2011. Lo frustrante desde mi punto de vista es que la característica existía en Xcode 3 ...


Descubrí una especie de solución:

  1. Duplica tu iPhone-Storyboard y MainStoryboard_iPad.storyboard

  2. Cierre Xcode y luego abra este archivo en cualquier editor de texto.

  3. Busque targetRuntime="iOS.CocoaTouch" y cámbielo a targetRuntime="iOS.CocoaTouch.iPad"

  4. Cambie el código en MainStoryboard_iPad.storyboard desde:

    <simulatedScreenMetrics key="destination" type="retina4"/> to

    <simulatedScreenMetrics key="destination"/>

  5. Ahora guarda todo y vuelve a abrir Xcode. El iPad-Storyboard tiene los mismos contenidos que el archivo de iPhone, pero todo podría estar desordenado.

Esto me ahorró horas - espero que esto te ayude


Eso no me funcionó del todo. Hice algo un poco diferente.

  1. Crea un nuevo archivo de story board para la versión de iPad.
  2. Abra el nuevo archivo y el archivo que quiero copiar en textwrangler (editor de texto)
  3. Copió el texto xml del archivo antiguo al nuevo archivo entre estas etiquetas xml
  4. Primera etiqueta <scenes> <!--Contents View Controller-->
  5. Pegar aquí
  6. Etiquetas finales </class> </classes>

Eso funcionó para mí. Obtuve un nuevo diseño con todos mis puntos de venta conectados, lo que me ahorró unas horas.


Esta funcionalidad ahora está incorporada. Por ejemplo, si uno cambia la configuración del proyecto en Información de implementación -> Dispositivos de iPhone a Universal, aparecerá el siguiente cuadro de diálogo:


Esto va a la inversa, pero pude seleccionar y copiar todo en el guión gráfico de mi iPad (~ 35 escenas) y pegarlo en el guión gráfico de mi iPhone. Los tamaños de escena se ajustaron automáticamente. Solo vi dos problemas, tuve que reemplazar UISplitViewController (ya que solo es iPad), y el fondo predeterminado se volvió transparente en lugar de gris (aún trabajando para solucionarlo correctamente, sin configurar manualmente el fondo para todo).

EDITAR: Parece que el fondo predeterminado para UITableView en el inspector de atributos es bastante extraño. Tuve que configurar manualmente el fondo como "Color de fondo de la vista de tabla de grupo" para las vistas de tabla agrupadas y "Color de blanco" para las vistas de tabla no agrupadas. Luego se mostró como "Predeterminado" (supongo que ya que luego coincidió con un valor codificado). - En realidad, aún más fácil, cambiar de "Agrupado" a "Estático" y volver parece restablecer el color predeterminado.


Existe una solución realmente simple para las versiones de Xcode que admiten clases de tamaño (Probado en Xcode 7, que es la versión actual en el momento de la escritura). Marque la casilla de verificación "usar clases de tamaño" en un archivo de guión gráfico ( Inspector de archivos ), confirme el cuadro de diálogo que aparece. Luego, desmarque la misma casilla de verificación: Xcode le preguntará si desea usar este guión gráfico con un iPhone o iPad, y convierte las pantallas de manera adecuada. No es necesario editar directamente el archivo del guión gráfico . Para iPad y iPhone, simplemente copie el mismo guión gráfico y configure uno para iPad y otro para iPhone usando el método descrito.

Y antes de que alguien sugiera usar clases de tamaño, aunque son excelentes, son menos convenientes para una IU altamente personalizada, como juegos, etc.


Gracias por las respuestas a todos.

Seguí los pasos anteriores, pero cuando ejecuté la aplicación bajo el simulador o mi iPad, siguió usando solo el guión gráfico del iPhone.

Por alguna razón, cuando cambié el dispositivo de destino a Universal en lugar de iPhone, Xcode (v5.0) no actualizó el archivo app-Info.plist para incluir el guión gráfico del iPad, así que tuve que agregar manualmente la siguiente entrada ( usando el editor plist en Xcode):

Nombre de la base del archivo del guión principal (iPad) ==> MainStoryboard_iPad


La forma más fácil y confiable de hacer esto es copiar y pegar desde el guión gráfico de su iPad.

  1. Cree un nuevo guión gráfico y asígnele un nombre como MainStoryboard_ipad.
  2. Convierta su aplicación en una aplicación universal estableciendo la propiedad Dispositivos en Universal en la página Resumen de las propiedades de destino para su proyecto.
  3. Abre tu guión gráfico para iPhone y selecciona todo y copia
  4. Abre tu guión gráfico iPad y pégalo.

Tendrá que cambiar el tamaño, pero puede ser más rápido que recrear todo el guión gráfico.


Para Xcode10

  1. Simplemente duplicar Main.storyboard

  2. Luego renombra los archivos a Main_iPad.storyboard y Main_iPone.storyboard

  3. Establecer nombres apropiados en .plist

4.Sólo tiene que seleccionar el .storyboard adecuado para configurar


Seguí este hilo cuando fui golpeado con el mismo problema ayer. Los pasos que segui

  1. Para Xcode 5.1, tuve que hacer un poco de limpieza del guión gráfico del iPhone, como los reutilizadores perdidos de las celdas de la tabla, proporcionar la identificación del guión gráfico para cada controlador, eliminar las escenas no utilizadas.
  2. Copie MainStoryboard_iPhone.storyboard en MainStoryboard_iPad.storyboard.
  3. Uso de vi editor - cambiado targetRuntime="iOS.CocoaTouch" a targetRuntime="iOS.CocoaTouch.iPad"
  4. Cambie el código en MainStoryboard_iPad.storyboard de: <simulatedScreenMetrics key="destination" type="retina4"/> a <simulatedScreenMetrics key="destination"/>
  5. Abra el proyecto en Xcode.
  6. Cambió los dispositivos de implementación a Universal: elija la opción de NO copiar el Storyboard del iPhone.
  7. Xcode predeterminará el Destino de implementación a 7.1, se hizo cargo de las funciones en desuso.
  8. Para corregir el error de la vista mal colocada en el iPad Storyboard: se modificó el diseño del marco para los controladores que generaban errores.

Eso fue todo ... Gracias a todos por su ayuda ...


Si hubiera creado un proyecto universal, de forma predeterminada se habría creado el guión gráfico vacío del iPad, solo tiene que seleccionar el guión gráfico del iPhone (Comando + A), copiar (Comando + C) y pegarlo en el guión gráfico del iPad. Asegúrese de mover el punto de entrada del guión gráfico vacío al guión gráfico recién copiado antes de compilar.


Solo como una nota rápida para aquellos que pueden haber tenido mi problema con esto:

Mi problema:

El contenido del guión gráfico se ha copiado bien en un nuevo archivo de pizarra que agregué. Sin embargo, no pondría cambios a mi iPad aprovisionado. Notando que tuve que cambiar el guión gráfico designado para el objetivo de compilación (ver imagen), deje que se muestren los cambios.

Publico una imagen si tuviera los puntos, pero la configuración se encuentra en:

Navegador del proyecto en el menú de origen del lado izquierdo, objetivo de la raíz de la pestaña general del proyecto (panel central), información del despliegue (segundo subtítulo), con la pestaña del botón iPad seleccionada.

A partir de ahí, elige tu guión gráfico en "interfaz principal".

Gracias por la publicación, espero que esta mención ayude a un obstáculo en algún lugar.


Solo por diversión, en XCode 5.1 y iOS 7.1, también necesitaba cambiar los valores de "toolVersion" y "systemVersion" a esto:

toolsVersion="5023" systemVersion="13A603"

Sin esto, el nuevo archivo de guión gráfico no se compilaría


Usando las Clases de Tamaño XCode6 ya no necesita convertir el guión gráfico al iPad. El mismo Storyboard se puede usar tanto para el iPhone como para el iPad, evitando que tenga dos archivos actualizados.

El guión gráfico resultante es compatible con iOS7 +.

Lea más sobre esto aquí: https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/AboutAdaptiveSizeDesign.html#//apple_ref/doc/uid/TP40014436-CH6-SW1

Use clases de tamaño para permitir que un guión gráfico o un archivo xib funcione con todos los tamaños de pantalla disponibles. Esto permite que la interfaz de usuario de su aplicación funcione en cualquier dispositivo iOS.


Vaya a su Resumen de objetivos y cambie los dispositivos a universales, luego baje y configure la versión de ipad para cualquier guión gráfico que desee, incluyendo uno copiado y renombrado si lo desea.


1. Create New Storyboard file with MainStoryboard_iPad.storyboard 2. Copy All the views from MainStoryboard and paste to MainStoryboard_iPad.storyboard