Pregunta La restricción "Ancho es igual a la altura" en Interface Builder


No puedo encontrar una manera de crear una restricción 'cuadrada', que significa 'ancho igual a alto' en el Constructor de interfaz. Supongo que es posible agregar tal restricción programáticamente. ¿Hay algo que pueda hacer en IB? Tal vez simplemente no lo veo? Parece trivial, pero no puedo encontrarlo.


76
2018-03-01 22:03


origen


Respuestas:


Actualiza Xcode 5.1b5

width equals height

Ctrl + clic y arrastra desde una vista y suelta 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 se puede porque el editor de ancho / alto carece de los campos para relacionarse con otra propiedad o establecer la relación:

width constraint

Por lo tanto, no puede expresar el siguiente código en Interface Builder:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];

163
2018-04-18 17:53