Agregue restricción de espaciado a supervisión en Xcode 5

Estoy desarrollando una aplicación de iOS en Xcode 5 y tengo problemas para agregar restricciones de layout. En Xcode 4.x, podría agregar espacios iniciales / finales / superiores / inferiores al contenedor (superview) a cualquier elemento UI. Ahora solo tengo esta opción:

introduzca la descripción de la imagen aquí

Quiero agregar una restricción "espacio inferior para supervisar" a mi vista de text. Dice "espaciar al vecino más cercano", pero no quiero crear una restricción al "vecino más cercano", tengo algo más debajo de mi vista de text, y no quiero crear una restricción con eso. Si no hay ningún otro object debajo de mi vista de text, agrega una restricción al contenedor correctamente. Pero si trato de cambiar algo, todo se desordera: necesito mover todas las vistas a otro lugar, luego agrego la restricción y luego vuelvo a mover las otras vistas. Si agrego una restricción entre la vista de text y el elemento de interfaz de usuario (un button, en este caso), no funciona (todo parece correcto: el button tiene una restricción para el background de la vista de supervisión y la vista de text tiene una restricción de espacio vertical con el button y no hay restricciones conflictivas). Los elementos de la interfaz de usuario aparecen fuera de los límites de la pantalla en diferentes orientaciones de pantalla (3,5 pulgadas). ¿Hay un error con el generador de interfaces, o me estoy perdiendo algo? Cuando pude configurar todo correctamente, mis controles aún parecen fuera de límites cuando cambio el tamaño de las pantallas del generador de interfaces, pero se muestran correctamente en el simulador / dispositivo a 3,5 pulgadas. ¿Cuál es la "mejor práctica" para diseñar la interfaz de usuario con las nuevas restricciones de Interface Builder en Xcode 5?

ACTUALIZACIÓN: Estoy teniendo más problemas en otro proyecto con lo mismo. Estoy tratando de arreglar la parte superior de una vista en la guía de layout superior con CTRL, arrastrando mi control a donde dice "guía de layout superior", y está tratando de convertir el background de mi control en la guía de layout (alnetworkingedor de -470 puntos) en lugar de eliminar la parte superior de mi control, lo que no tiene ningún sentido, ya que el control debería distribuirse en pantallas de altura variable (por ejemplo, iPhone regular y de 4 pulgadas y los posibles otros layouts en el futuro …). Aquí hay una captura de pantalla de lo que está sucediendo:

introduzca la descripción de la imagen aquí

Y estoy teniendo esto en restricciones:

introduzca la descripción de la imagen aquí

¿Cómo puedo hacer que Interface Builder alinee la parte superior de la vista con la guía de layout superior?

ACTUALIZACIÓN 2: encontré una solución. Primero networkingimensiono la vista para disminuir su altura (por lo que la parte superior no se superpone ni está muy cerca de la guía de layout superior) y LUEGO CTRL + arrástrelo a la guía de layout superior. Parece que funciona correctamente. Después de conectarlo, cambio el tamaño de mi vista nuevamente al tamaño deseado y select Update Constraints . Funciona, pero todavía no es una solución, ya que requiere cambiar el tamaño de la vista, conectarse, cambiar el tamaño de nuevo y actualizar las restricciones.

Para agregar una restricción entre una vista y su "supervista" (como "espacio inferior para supervisar") puede usar el Esquema de documentos (La parte izquierda del Creador de interfaces).

En el bosquejo del documento:

  1. Mantenga presionada la tecla ctrl y arrastre desde la vista a su 'superview (o viceversa).
  2. Seleccione las restricciones que desea agregar (en este ejemplo, "Espacio inferior al contenedor").

ctrl-arrastre desde la vista a su 'supervisión (o viceversa)Selecciona las restricciones que deseas agregar.

La respuesta de Jarig es buena pero a veces puede dar lugar a resultados inesperados como se señala en los comentarios.

Otra opción es seleccionar la vista secundaria e ir a:

Editor> Pin> Espacio superior a Superview

o cualquier restricción que desee.

Parece ser una restricción de borde inferior ahora. Seleccione su vista y su vista de supervisión, toque "Alinear" y marque la casilla "Bordes inferiores"

foto

Si desea agregar restricciones finales o finales como en Xcode 4, presione CTRL y arrastre desde el centro de la vista a la que desea agregar la restricción a la izquierda, derecha, arriba o abajo. A continuación, se presentará una window en la que puede seleccionar la restricción a agregar (dependiendo de la dirección en la que se arrastre CTRL).