for adaptive ios iphone xcode-storyboard

adaptive - xcode ios 12



iOS: Cambia la altura de forma programática de una UIView (2)

Primero agregue la restricción de altura a su archivo .h :

//Add Outlet IBOutlet NSLayoutConstraint *ViewHeightConstraint;

A continuación, agregue el siguiente código a su archivo .m :

//Set Value From Here ViewHeightConstraint.constant = 100;

Me pregunto si existe alguna forma de recuperar programáticamente la restricción de altura de una UIView específica y cambiar su valor en el código. Tengo una situación en la que tengo varias UIViews con cuatro bordes UIViews en el IB y restricciones de altura añadidas (IB se queja si no lo hice), pero en el medio del programa necesitaría cambiar la altura de las UIViews y causar algunas UIViews para ser empujado hacia abajo en la vista.

Sé que puedo presionar + arrastrar las restricciones de altura de cada UIViews y cambiar sus valores en el código, pero para hacerlo necesitaré cablear docenas de ellas. Entonces, creo que esto no es eficiente y no es escalable de alguna manera.

Entonces, me pregunto si hay alguna manera de recuperar totalmente las restricciones de altura de una vista específica a través del código y cambiarla dinámicamente.

¡Gracias!


Puede conectar esa restricción específica a su código desde el constructor de interfaz como

Y NSLayoutConstraint tiene una propiedad constante que establecer, que es su valor de pin constante.

Si agrega sus restricciones programáticamente, seguramente puede beneficiarse de la propiedad del identificador en la clase NSLayoutConstraint . Configúrelos e itere sobre ellos para obtener esa restricción específica identificada.

Como dice la documentación

extension NSLayoutConstraint { /* For ease in debugging, name a constraint by setting its identifier, which will be printed in the constraint''s description. Identifiers starting with UI and NS are reserved by the system. */ @availability(iOS, introduced=7.0) var identifier: String? }