para formulario form estilos estilo editar diseño desplegable darle cambiar ios storyboard

ios - estilos - editar formulario contact form



Controlador de visualización de guiones gráfico, ''clase personalizada'' no se muestra en menú desplegable (21)

Asegúrate de que tu clase herede de UIViewController.

@interface ClassName : UIViewController

Tengo un UIViewController que creé en mi guión gráfico de aplicaciones, así como una subclase UIViewController personalizada que agregué al proyecto (y que está correctamente en la fase de compilación para mi objetivo). Sin embargo, cuando voy a establecer la propiedad ''Clase personalizada'' en el controlador de vista en Storyboard, mi clase personalizada no aparece en la lista.

  • Comprobé que la clase es parte del objetivo de mi aplicación, no las pruebas ''
  • Comprueba dos veces que es correctamente una subclase de UIViewController
  • Programa compilado solo para asegurarse de que xcode funcionaba con la información más reciente
  • Xcode reiniciado

¿Qué haría que mi clase no apareciera en el menú desplegable ''Clase personalizada''?


Asegúrate de seleccionar View Controller al que deseas adjuntar tu clase. La manera más fácil es abrir el Document Outline y elegir su controlador de vista (cuando lo toca, a veces el guion gráfico simplemente no elige el objeto que quería decir).


Asegúrese de que el nombre de clase de ViewController es el nombre que desea. es decir

class MyCustomNameViewController: UIViewController { . . }

Cambiar solo el nombre de archivo no es suficiente.


Dos formas que encontré resuelven el problema pero son alternativas. 1. Simplemente escriba el nombre de los controladores de vista en el campo de texto, o 2. cierre el proyecto y luego vuelva a abrirlo y en la inicialización del proyecto coloca el archivo en la lista.


En Xcode 8, algunas de mis clases tenían la ruta incorrecta (distingue entre mayúsculas y minúsculas) para sus ubicaciones de archivos.

MyProject/mysubdirectory/MyViewController.xib (.m, .h)

vs:

MyProject/MySubdirectory/MyViewController.xib (.m, .h)

Realmente no estoy seguro de cómo terminó en ese estado, pero mi proyecto exhibió exactamente el mismo comportamiento que el anterior (no hay salidas / acciones que se muestran en IB), y la reparación de esa ruta solucionó el problema.

Lo arreglé de dos maneras diferentes. Una forma fue abrir el archivo .pbxproj y solucionar manualmente el problema de mayúsculas y minúsculas. La otra forma en que funcionó fue tocando el icono de la carpeta en la sección Identidad y Tipo de la pestaña Inspector de archivos del archivo, y volviendo a seleccionar el archivo allí.


En mi caso, arrastro un nuevo objeto TableViewController al guión gráfico, pero agrego un nuevo archivo cuya subclase es "UIViewController" ... Luego, agrego un archivo cuya subclase es "UITableViewController", problema resuelto.


En mi caso, seleccioné la IU incorrecta ... así que eliminé el archivo de la clase y creé uno nuevo y seleccioné la clase padre correcta


Haga clic en un controlador de vista diferente en el guión gráfico, luego haga clic en su menú desplegable de clase personalizada para confirmar que la nueva clase está en la lista, pero no la seleccione. Haga clic en el nuevo controlador de vista que creó y debería verlo ahora en su menú desplegable de clase personalizada. extraño, ¿eh? solo fuerza una actualización, creo.


He estado teniendo los mismos problemas que se describen en este problema. Sin embargo, ninguna de las respuestas sugeridas lo solucionó. Mi proyecto compiló OK sin advertencias ni errores, pero en el archivo .h no había indicadores de "salida" para indicar que mis puntos de venta se habían vinculado a elementos del guión gráfico.

Además, los intentos de crear nuevos puntos de venta en mi código, haciendo clic derecho y arrastrando en mi archivo de encabezado, no reconocían mi origen de encabezado como un objetivo potencial para esta operación. Y, además, mi clase no apareció en el menú desplegable de clases personalizadas para el panel de inspectores de propiedades de ViewController.

Y, sin embargo, el proyecto compiló OK.

Un examen más detallado mostró que había definido mi propia clase de la siguiente manera ...

@interface KJBMainDataViewTrackConMk2<UIScrollViewDelegate> : UIViewController

que aparentemente compila muy bien.

Pero, si esto se cambia a lo siguiente, (moviendo los protocolos hasta el final) ...

@interface KJBMainDataViewTrackConMk2 : UIViewController<UIScrollViewDelegate>

Entonces todo brota a la vida. De repente, todos los puntos de venta se indican como ''conectados'' con un elemento del guión gráfico. ¡Y el arrastre con el botón derecho vuelve a funcionar, y mi clase personalizada aparece en el menú desplegable de clases personalizadas en el panel de inspectores de propiedades para el guión gráfico ViewController!

Probablemente, otras respuestas aquí representen las causas más probables de esta afección, pero sentí que vale la pena mencionar al menos esta otra posible causa.


Intenta limpiar tu proyecto y también reinicia tu Mac. Una cosa peculiar que hice fue cambiar todos los nombres de Custom Classes y construir el proyecto nuevamente. ¡Funcionó!


Intentaría lo siguiente:

  1. Compruebe que el archivo que implementa la clase forma parte de las fases de compilación (verifique en el objetivo > fases de compilación )
  2. Agregue el archivo .m para crear fases (si no lo está).
  3. Reinicie Xcode.

Lo que funcionó para mí fue, haga clic en el archivo en el Navegador de proyectos, luego, en el Inspector de archivos en "Identidad y tipo" debajo del cuadro desplegable "Ubicación", haga clic en el icono de la pequeña carpeta y luego seleccione el archivo en la ventana emergente .


Me encontré con este problema y no tuve suerte después de probar las sugerencias anteriores. Finalmente encontré la razón por la cual el tipo de archivo del encabezado está configurado en el C++ header . Después de cambiarlo a C header (como todos los otros archivos de encabezado), la clase aparece en la lista desplegable. No sé por qué ... Posiblemente útil para otros, así que lo publico aquí.


Puede solucionar esto editando el XML de su Guión gráfico.

  1. Haga clic con el botón derecho en su entrada My.storyboard en el panel Project Navigator y seleccione la opción de menú Abrir como-> SourceCode . Encuentre su entrada de controlador de vista en el XML y agregue el atributo customClass="MyController" .

  2. Guarde el guión gráfico.

  3. Haga clic con el botón secundario en su entrada My.storyboard en el panel de Project Navigator nuevamente y seleccione la opción de menú Abrir como-> Interface Builder - Storyboard .

La entrada de clase personalizada contendrá ahora su nombre de clase MyController .


Si todavía tiene su problema o para aquellos que podrían tener el mismo problema:

Asegúrese de seleccionar en su guión gráfico su "ViewController" en lugar de su "View" (que se selecciona automáticamente al hacer clic en la vista en el guión gráfico). La diferencia entre esos dos es que cuando se selecciona el controlador de vista, aparece un rectángulo azul alrededor de su aplicación. Para asegurarse de seleccionar el controlador de vista, abra el contorno del documento y selecciónelo directamente en la jerarquía del guión gráfico.


Storyboard está buscando la clase personalizada, pero físicamente no está allí y no muestra el nombre de clase personalizado en la lista y tampoco muestra las salidas. La siguiente solución funcionó perfectamente para mí.

  1. Solo copie su código en cualquier otro lugar (digamos en el escritorio)
  2. Abra su código existente.
  3. Eliminar el archivo de clase personalizado. (Mover a la papelera)
  4. Ahora agregue archivos de la carpeta de proyectos copiados (Desde el escritorio)
  5. No olvide marcar la casilla de verificación "Copiar si es necesario"
  6. Abra el story board y el bingo obtendrá sus archivos de clase personalizados en menú desplegable

Tuve el mismo problema, pero ninguna de las otras soluciones funcionó para mí. El problema para mí fue que tenía un objetivo para Mac e iOS, ambos con sus propias versiones del mismo controlador de vista. Por ejemplo, tenía un par de archivos .h / .m llamado FooViewController para Mac y otro .h / .m par de archivos llamados FooViewController para iOS. Cada par se incluyó correctamente con sus respectivos objetivos, pero por alguna razón a Xcode no le gusta y mi controlador de vista no se mostraría en el menú desplegable de Clase personalizada en el controlador de vista en el guión gráfico. Terminé cambiando el nombre de mi clase en el controlador de vista de iOS e inmediatamente apareció en el menú desplegable.


Tuve que reiniciar XCode 7.3 (7D175)


asegúrese de no agregar el CustomViewController a ningún grupo o carpeta inicialmente. colócalo en la raíz de tu aplicación.


ninguno de los anteriores (o más abajo :) me ayudó. aunque encontré eso

  1. después de agregar new viewcontroller al guión gráfico (simplemente arrastrándolo)
  2. y agregando mi clase por File / New / File / Objective-C Class, le doy un nombre, no XIB, Next, Create

si selecciono mi viewcontroller en el guión gráfico y trato de asignarle mi clase, mi clase no está allí

PERO

si hago clic en una vista que está en el viewcontroller, entonces hago clic en el menú desplegable de una clase en Custom Class

Y ENTONCES

seleccione viewcontroller (haga clic en una barra debajo del viewcontroller) y ahora de nuevo haga clic en un menú desplegable de clases en Custom Class. Mi clase recién agregada se muestra mágicamente.

raro, debe ser un error con refrescante. Xcode versión 5.1 (5B130a)


para mi caso, de alguna manera los recursos del paquete se eliminaron, ¡así que volví a agregar y funcionó!

Construir fases -> Agregar fase de compilación -> Copiar recursos de paquete encontrar su archivo Luego arrastre y suelte su archivo allí

Luego asegúrate de que tu membresía objetivo esté marcada.