para online features descargar ios iphone interface-builder

ios - online - No se puede conectar IBOutlet en Interface Builder



xcode online (19)

Estoy teniendo una experiencia extraña. Creo cualquier tipo de aplicación para iPhone, agrego un UIViewController con un archivo Xib. Puedo editar el archivo xib con controles y verlos renderizados si ejecuto. Ahora estoy tratando de agregar algunos IBOutlets al controlador, así que los agrego al archivo .h, sintetizo en el archivo .m. Luego me dirijo a Interface Builder para conectar las salidas. Arrastro UILabel a UIView y luego trato de conectar el propietario del archivo (que es mi UIViewController personalizado), pero todo lo que puedo seleccionar cuando intento conectarme a UILabel es "ver", lo que obviamente es incorrecto. Por lo tanto, no puedo conectar IBOutlets a sus controles en Interface Builder.

¿Algunas ideas?


¿Se aseguró de que está definiendo sus salidas en su archivo .h como el tipo apropiado? Si está intentando conectar un campo de texto en IB, entonces su archivo .h debería tener un aspecto similar a ...

IBOutlet UITextField *MyTextField;

Asegúrese de que el tipo sea UITextField (o UITextView, etc.). Si los escribe como NSString o cualquier cosa que no sea apropiada, entonces no puede conectarlos en Interface Builder ...


Así que no sé exactamente por qué no hace automáticamente las conexiones de IBOutlet, pero encontré una solución alternativa. Tuve que agregar manualmente los puntos de venta a través de la Biblioteca en Interface Builder para mi controlador de vista de cliente. Si alguien encuentra la solución para hacerlo leer automáticamente desde el archivo .h (como se supone que debe hacerlo), le agradecería que lo publicaran.

gracias


Después de localizar algunos archivos XIB, las vistas no reaccionaron a ninguna actualización realizada en Interface Builder. Una solución simple fue eliminar la aplicación del simulador / dispositivo . El siguiente Build & Run actualizó la aplicación correctamente.

Esto solo sucedió al implementar la aplicación a través de XCode en el simulador. Parece que XCode está tratando de optimizar la construcción y se confunde.


En Interface Builder File-> Read Class Files, apúntelo a la clase de propietario de su archivo. Eso lo arregló para mí.


Escribí

@IBOutlet weak var title: UILabel!

en el archivo de texto UIViewController luego se conectó del archivo a la etiqueta en el guión gráfico, ¡y funcionó!


Hice una combinación de las cosas en este hilo y finalmente tuve éxito.

En el constructor de interfaces (no xcode)

  1. Archivo-> Volver a cargar todos los archivos de clase
  2. Archivo-> Leer archivos de clase (seleccione MyClass.h)
  3. Reconecte el propietario del archivo por
    a. Configuración de la clase a "MyClass"
    segundo. Reconectando la vista a la vista del propietario del archivo

Todo ha vuelto a la normalidad ahora. Extraño.

Espero que esto ayude más de lo que confunde ;-)


Para mí, el problema era que había creado un MyUITextView extendiendo el UITextView y el X-Code no se conectaría. Mi solución fue usar UITextView en IBOutlet temporalmente para conectar / vincular y luego cambiar a mi vista personalizada.

Así que cambié.

IBOutlet MyUITextView *tv;

a

IBOutlet UITextView *tv;

y luego conectado / vinculado. Una vez conectado, cambié mi OBOutlet de nuevo a MyUITextView

IBOutlet MyUITextView *tv;


Reiniciando Xcode 5.1 lo hice por mí.


Si no pudo conectar sus controles de UI al código mediante un clic derecho (o CTRL) -> lista desplegable, hay otra manera. En el constructor de interfaces, presione y mantenga presionada la tecla CTRL, el mouse de drogas del "Propietario del archivo" en la ventana principal de Interface Builder a su control de IU (etiqueta, botón, etc.). Se mostrará la lista dpopdown con todos los Outlets definidos por usted. Sólo la elección necesitaba una!


Soy un novato total en esto, y tuve el mismo problema. Fui a probar la sugerencia de diatrevolo y, al hacerlo, descubrí qué estaba causando mi problema. Originalmente había creado mi ViewController en algún lugar al azar en la jerarquía del proyecto, y luego los moví a la carpeta de clases. Esto significaba que los archivos reales no estaban en la carpeta de clases, pero el proyecto pensó que sí, así que IB estaba buscando en el lugar equivocado. Moví los archivos reales al archivo de clases real con Finder, y luego los borré y volví a leer en el proyecto. ¡Entonces todo funcionó!


También estaba teniendo problemas aquí, y lo que me funcionó fue construir la aplicación antes de abrir Interface Builder. ¡Vudú!


Tenía el mismo problema.

Se corrigió revisando el atributo "Clase" del propietario de mi archivo en el inspector de identidad.


Tuve casi el mismo problema que tú. No sé si ya resolvió su problema, pero el mío fue que cambié los nombres de todas las clases, incluido el controlador de vista, pero el nombre del propietario del archivo no ha cambiado. Entonces, hice doble clic en el propietario del archivo -> haga clic en i en la ventana abierta -> cambie el nombre en el campo Clase al nuevo nombre del controlador de vista. Entonces funcionó. Tal vez quieras intentarlo de nuevo y ver si funciona. Buena suerte.


Tuve el mismo problema para el más largo. Cambiar el "Tipo" del propietario de mi archivo a "MyClassViewController" en lugar de "UIViewController" en la ventana de identidad de la clase solucionó mi problema. Tiene sentido porque como el tipo de propietario del archivo es UIViewController, solo mostrará las propiedades específicas de la clase base. Cambiar el tipo a MyClassViewController da acceso a sus puntos de venta y todas las instancias heredadas. ¡Espero que esto ayude!


Tuve el mismo problema, y ​​acabo de intentar la sugerencia de diatrevolo: haga clic en Archivo, luego en Leer archivos de clase y señale la clase Propietario de su archivo.

Esto me lo arregló. Me gustaría +1 diatrevolo, pero todavía no tengo ninguna reputación ...


me mata cada vez, pero a veces, si solo cierras y vuelves a abrir Xcode, las cosas se arreglan ... Me ocurrió exactamente con este problema ...


¿Está seguro de que el propietario del archivo está configurado correctamente en su UIViewController personalizado y de que ha guardado su archivo .h después de haber agregado la palabra clave IBOutlet a la variable y propiedad de la instancia?


File->Read Class Files (select MyClass.h) Hizo el trabajo por mí.


XCode -> Product -> Clean

Trabajó para mi.