Estoy corriendo XCode 5 con iOS 7. Necesito cambiar de forma dinámica la altura de la restricción de un UITextView antes de su presentación. He visto muchas publicaciones que indica que esto se puede hacer mediante la realización de una conexión de salida de la restricción en IB para el código fuente. Estoy tratando de hacer la conexión de la restricción de salida del IB para el archivo de encabezado de la propietaria de la clase, pero soy incapaz de hacer la conexión – IB no «resaltar» cuando me arrastre el puntero sobre el archivo de encabezado, como lo hace cuando realice las conexiones de otros objetos como botones, etc.

Alguien ha encontrado esto antes? Toda la ayuda es muy apreciada.

InformationsquelleAutor johnnyspo | 2014-02-28

5 Comentarios

  1. 49

    Aquí está una foto de mí hacerlo. Estoy de control de arrastre de la restricción para el archivo de encabezado.

    Incapaz de hacer la conexión de salida a una restricción en IB

    En la vida real yo soy más probable para el control de arrastre para el anónimo de la categoría en el archivo de implementación, porque no quiero un IBOutlet propiedad pública. Así que aquí está una foto de eso también. Lo siento, esta captura de pantalla no muestra el cursor: se encuentra en el extremo inferior del tramo de la línea.

    Incapaz de hacer la conexión de salida a una restricción en IB

    • Gracias matt. Estoy tratando de hacer exactamente lo mismo en mi proyecto, pero XCode no quiere hacer la conexión. Voy a crear un proyecto de prueba y ver si funciona en ese proyecto. No puede explicar por qué XCode no quiere hacerlo!
    • Gracias matt!! Usted me ahorro mucho tiempo!!
    • Tan extraña que no se puede conectar a partir del Propietario del Archivo a IB excepto margen de las limitaciones, pero esta respuesta funciona bien.
  2. 2

    Usted puede hacer una conexión de salida por:

    1. Abrir el asistente de editor y, a continuación, ctrl+arrastrar su textview para el respectivo archivo de encabezado. Usted debe ver una propiedad creada para el textview.

    2. Manualmente el tipo de @property(nonatomic,retain)IBOutlet UITextField *yourTextField; .Abra el asistente de editor, arrastre desde el pequeño círculo vacío(de la izquierda a la propiedad) para el control correspondiente en el controlador de vista.

    Si usted todavía no son capaces de hacer la conexión, limpiar, guardar el proyecto y, a continuación, inténtelo de nuevo.

    • El estilo se otorgan puntos si realiza la conexión a la extensión de la clase de @interfaz de la sección de su .m archivo en lugar de su .h Nadie en su aplicación tiene que ver que el ruido, la definen en el .m, que es donde pertenece.
    • Declarar en el @interfaz de la sección de .h o .m archivo no importa.
    • motox – lo siento por la confusión, estoy tratando de hacer una conexión con una restricción no a la vista del texto. He editado mi pregunta para ser claros. Puedo hacer la conexión a la vista de texto y otros objetos, yo simplemente no puede hacer la conexión a la altura de la restricción de la vista de texto. Traté de limpiar el proyecto, todavía no se puede realizar la conexión. He visto muchos posts indicando que esto se puede hacer, pero por alguna razón no puedo hacerlo. También he probado tu sugerencia #2 (excepto para una restricción vs vista de texto); aún así no funciona.
    • Después de haber insertado usted UITextView en IB, usted debe ser capaz de establecer sus limitaciones a través de «PIN» botón situado en la parte inferior. Restricción de especificaciones no importa en IB desde que modificar en forma dinámica. Usted debe ser capaz de ver a estas limitaciones en la vista de Esquema del Documento. Ahora, ir a los respectivos archivo de encabezado y escriba @property (weak, nonatomic) IBOutlet NSLayoutConstraint *yourTextViewHeight;. Usted puede, a continuación, arrastre el círculo vacío desde aquí a la restricción específica en la vista de esquema del documento.
    • retener????????????????????????????????????????????????
  3. 1

    Están tratando de crear la conexión en un UIView clase? Parece que sólo se puede crear una conexión en la UIViewController clase que se asocia con esa Escena en el Guión gráfico.

    Por lo que su solución es probablemente lo correcto, si quieres hacerlo desde la propia Vista.

  4. 1

    Creo que estoy tarde para esta respuesta, pero todavía puede ser vale la pena escribirlo. He tenido un problema similar. No me había fijado hasta que el propietario del archivo para ver correctamente. Usted puede hacer una prueba simple uso de la asistente de editor. Si el asistente de editor no le permitirá elegir el automático de selección para el controlador de vista significa que usted no configuraste el propietario del archivo correctamente. Compruebe que el viewcontroller tiene el mismo nombre de la .xib archivo (que a menudo es el caso).

    Esto te permitirá conectar todos tus IBOutlets, incluidas las restricciones.

  5. 0

    Ok, todavía no se puede realizar la conexión a la restricción en el IB. Sin embargo, he trabajado todo el problema haciendo que el texto de la vista de la altura de la restricción de un marcador de posición en IB que puedo reemplazar con un NSLayoutConstraint que puedo crear en la vista initWithCoder. Puedo mantener una referencia a la restricción creada y modificar su «constante» de la propiedad según sea necesario.

    Probablemente voy a pegar con esta solución, pero si alguien me puede ayudar con el problema original que sería muy apreciada.

Dejar respuesta

Please enter your comment!
Please enter your name here