Reproducción automática de dos vistas verticales con altura dinámica alineada arriba

Tengo dos vistas que pueden ser de altura dinámica. Dependiendo del contenido, view1 o view2 es el más alto.

La vista más alta debe determinar la distancia para ver3.

En mi implementación actual, view1 y view2 tienen una restricción para x píxeles para view3. Pero el problema es view1 y view2, entonces siempre será la misma altura (todo el contenido no se alineará arriba)

Prueba esto. Asegúrese de que las vistas 1 y 2 tengan alguna restricción en la parte superior de la vista de supervisión y en los lados (o el ancho fijo, sea lo que sea necesario para corregir las vistas en la dirección horizontal). Digamos que desea que la distancia a la vista inferior sea 30. Dé a la vista 1 una restricción para ver 3 de = 30 con una prioridad de 200 y otra de> = 30 con una prioridad de 1000 (valor pnetworkingeterminado). La vista 2 solo necesita una restricción para ver 3 de> = 30 con 1000 prioridad.

La restricción de baja prioridad (de 200) arreglará inicialmente la position de la vista 3, pero es lo suficientemente baja como para que si la vista 2 se expande, la vista 3 se moverá hacia abajo y también lo suficientemente bajo como para que la prioridad pnetworkingeterminada de aarm de contenido de la vista 1 la mantenga expandiendo su altura si no necesita basarse en su tamaño de text.

float yPos = MAX(view1.frame.size.height,view2.frame.size.height); view3.frame.origin.y = view1.frame.origin.y + maxHeight;