Autolayout: ¿Agregar restricción a supervista y no a la Guía de diseño superior?

Tengo un UIView en mi UIViewController en el guión gráfico, y quiero agregar una restricción al espacio que permita ver una distancia desde el borde superior.

Ahora, cuando hago lo de costumbre con Ctrl + arrastrar a la vista principal de ViewController, solo tengo la opción de configurarlo en la guía de diseño superior.

Esto es un problema para mí porque en un punto de la aplicación voy a mover la vista principal alrededor de 20-50px y lo que sucede es que la vista que tengo no se moverá … porque no está alineada con la supervista.

¿Cómo puedo hacer esto manualmente en el guión gráfico o tengo que agregarlo programáticamente?

Estoy usando xcode 6.

Hay una flecha a la derecha del valor de la constante de restricción. Si hace clic en él, aparece un menú en el que puede elegir para qué desea establecer su restricción. Si elige ‘Ver’, lo fijará en la parte superior de la vista.

enter image description here

Debería poder hacerlo resaltando la vista que desea en el guión gráfico y luego seleccionando Editor > Pin > Top Space to Superview en el menú superior.


Esto está desactualizado en XCode 7, ver la respuesta de @ PaulGurov en su lugar.

También se puede agregar que si la vista que intentas fijar no es una subvista directa de la vista a la que deseas fijarla, el enfoque sugerido no es realmente válido. Digamos que la jerarquía de vista se parece a eso y desea anclar la vista de imagen (Vista de imagen de Parallax Image View en este caso) a la vista del controlador de vista ( View en este caso).

enter image description here

Para hacerlo, simplemente controle + arrastre desde la Parallax Image View a la View . Presenta las opciones predeterminadas en las que puede ver el Vertical Spacing to Top Layout Guide para fijar la Parallax Image View a la guía de diseño superior.

enter image description here

Lo que quiere es fijarlo en la parte superior (margen) de la vista. Para hacerlo, debe cambiar al otro conjunto de restricciones presionando Alt

enter image description here

Ya tenía un montón de limitaciones y solo quería cambiarlas en lugar de romperlas. Resulta que si hace doble clic en la restricción para editar, luego hace clic en el elemento que tiene el “.Margin”, puede simplemente desactivar el “Relativo al margen” seleccionando ese elemento.

Seleccione el relativo al margen

La respuesta de Dan funciona. Solo quería decir que si configuras tu vista en storyBoard en y <20, y configuras las restricciones a través del panel de pin, establecerá top to superview:

enter image description here

enter image description here

Si la altura de la vista se establece en 0 por accidente, NO aparecerá la Guía de diseño de espacio vertical a superior. Aparecerá la Guía de diseño vertical de Espacio a Fondo, que debe haber tenido sentido para alguien dentro de Apple alrededor de 2004.

Ninguna de las respuestas anteriores funcionó para mí, en su lugar tengo que hacer un truco para establecer la parte superior de mi subvista con la parte superior de la supervista en lugar de la guía de diseño superior.

  • Primero, configure el centro de la subvista verticalmente con supervista.
  • Luego, cambie las restricciones del centro Y para la subvista, así como la supervista a la restricción máxima.

Eres bueno para ir ahora.