No puedo encontrar una manera de crear una restricción 'cuadrada', lo que significa que 'ancho es igual a alto' en Interface Builder. Supongo que es posible agregar tal restricción mediante programación. ¿Hay algo que pueda hacer en IB? ¿Quizás simplemente no lo veo? Parece trivial, pero no puedo encontrarlo.
ios
interface-builder
autolayout
nslayoutconstraint
DemoniacDeath
fuente
fuente
Respuestas:
Actualizar Xcode 5.1b5
Ctrl + clic y arrastre desde una vista y suelte mientras el puntero está sobre la vista. Seleccione "Relación de aspecto". Creará una restricción donde el primer y segundo elemento es la vista.
Antes de Xcode 5.1
No puede porque el editor de ancho / alto carece de campos para relacionarse con otra propiedad o establecer la proporción:
Por lo tanto, no puede expresar el siguiente código en Interface Builder:
fuente
Agregue una nueva restricción, relación de aspecto a 1: 1 en el elemento de la interfaz de usuario como en la imagen.
fuente
Para comenzar, arrastre el control en diagonal desde el botón hacia sí mismo. Aparecerá un menú contextual, donde puede agregar restricciones de ancho y alto. Mayús + clic en cada uno; aparecerá una marca de verificación que indica que ha agregado la restricción. (Si descarta accidentalmente el cuadro de diálogo antes de agregar ambos, está bien, simplemente repita el paso de arrastre y configure el otro):
Cuando se agregan por primera vez, estas restricciones adoptan el ancho y la altura actuales del botón, por lo que deberá ajustar cada restricción para darle un valor más apropiado. Tendremos que hacer esto uno a la vez, aunque nuestra imagen es cuadrada, así que asegúrese de usar el mismo valor constante en ambas restricciones para cambiar el tamaño del botón proporcionalmente. Haga doble clic en la restricción e ingrese un valor menor en su campo constante:
fuente