Vista de centrado de layout automático en el espacio restante (mediante progtwigción)

¿Cómo puede agregar restricciones de layout automático programáticamente para centrar una vista en el espacio restante (ver la image de ejemplo a continuación)?

introduzca la descripción de la imagen aquí

Por el momento, agrego una vista de contenedor en la parte inferior y luego centro la vista en la vista del contenedor, pero me preguntaba si había alguna otra solución sin necesidad de usar una vista de contenedor.

Debe agregar una vista de espaciador para hacer esto.

Comencemos con algunas vistas:

algunas vistas

Configuraré la vista rosa para ocupar el 70% superior de la vista raíz. Primero lo pongo en los cuatro bordes de la vista raíz:

restricciones rosadas

Luego editaré la restricción inferior de dos maneras. Primero, me aseguro de que el primer elemento sea la vista rosa y, en segundo lugar, establezca el multiplicador de 0.7. Luego actualizo el marco de la vista rosa:

restricciones rosadas ajustadas

A continuación agregaré la vista del espaciador. No quiero que la vista del espaciador esté visible en time de ejecución, así que la ocultaré. Las vistas ocultas aún participan en el layout. Antes de configurar las restricciones, simplemente coloco el espaciador a la izquierda de la vista azul:

spacer añadido

Ahora crearé restricciones para hacer que el espaciador se extienda desde la parte inferior de la vista rosa hasta la parte inferior de la vista raíz. El ancho no importa, así que simplemente lo pincho en el borde izquierdo de la vista de supervisión y lo hago delgado:

restricciones del espaciador

Ahora estoy listo para configurar la vista azul. Primero le daré un tamaño fijo:

restricciones de tamaño azul

En segundo lugar, lo centraré horizontalmente en la vista raíz:

centro horizontal azul

En tercer lugar, fijaré su centro vertical al centro vertical del espaciador:

centro vertical azul

Eso es todo lo que necesito. Actualizaré todos los cuadros para comprobar:

actualizar todos los marcos

Puedo probarlo usando Preview en el editor asistente:

vistas previas

Observe que la vista del espaciador no está visible en la vista previa, pero que aún participa en el layout.