Diseño automático proporcionalmente escalar vistas

Ya encontré varias preguntas y respuestas sobre este tema, pero simplemente no puedo hacer que esto funcione para mí.

Escalada

El rectángulo azul es una vista UIV que contiene el button de image de la label de testing y del engranaje. El rojo es una segunda UIView.

Lo que me gustaría hacer es boost el tamaño de la barra azul (que es un UIView) para pantallas de mayor tamaño, lo que resultará en la ampliación del button Etiqueta y configuraciones, mientras que el UIView rojo se networkinguce en altura para que el azul UIView puede hacerse más grande. Entonces, básicamente, la pregunta es cómo escalar proporcionalmente las UIViews para diferentes tamaños de pantalla.

He intentado utilizar las restricciones de la relación de aspecto, las restricciones de altura (mayores / menores que), pero simplemente no puedo get el efecto deseado.

Gracias.

Pruebe la altura y el ancho proporcionales. Debe hacer restricciones para Equal Heights y / o Widths iguales y luego haga doble clic en la restricción y cambie el multiplicador, por ejemplo, 0.2 si desea hacer que First Item sea 20% del segundo artículo en ancho y 2.0 para 200% ( significa doble) de ancho. para hacer que aumente o disminuya proporcionalmente de acuerdo a su requerimiento introduzca la descripción de la imagen aquí

Tiene dos forms de hacerlo:

1. Restricciones proporcionales:

pero si establece una altura proporcional para una vista, la vista cambiará por cada pequeño cambio en el tamaño de la pantalla. Por ejemplo, su vista puede ser un cambio un poco mayor de 4 "a 4,7", pero no significa que sea una mala idea.

Para usar esa característica, solo verifique la respuesta de Asadullah Ali 🙂

2. Use classs de tamaño:

si usa Xcode 6, puede usar las classs de tamaño y agregar restricciones solo para un tamaño de pantalla; No es difícil de usar, consulte la documentation de Apple .

Para esta function, necesita classs de tamaño capaces para su Storyboard:

introduzca la descripción de la imagen aquí

después de eso, puede configurar su controller de vista como desee y agregar una regla solo para una de las classs:

introduzca la descripción de la imagen aquí

puedes decirle a Xcode "ok, si el tamaño de la pantalla es de 5,5 al less usa esta regla".

Recuerde que para agregar una restricción para las classs de tamaño específico, primero debe seleccionar la class de tamaño y luego agregar normalmente su restricción: cuando se selecciona una class de tamaño (puede verificar el control de classs de tamaño), Xcode agrega las restricciones solo para esa class.

EDIT 1 : si tiene algún problema con la escala de fuente y similar, también puede usar la function de tamaño de classs solo para escalar un tamaño de fuente en una label, por ejemplo; encontrará esta opción haciendo clic en esto después de activar la function de classs de tamaño:

Cómo agregar un tamaño de fuente para una clase de tamaño


Prefiero decirte todo lo que sé sobre tu problema, pero en tu caso personalmente utilizaría la primera solución : tu vista puede cambiar dinámicamente cualquier tamaño de pantalla.

Solo necesita encontrar el mejor porcentaje proporcional: puede establecer alnetworkingedor del 10%, por lo que el multiplicador de 0.1 con el primer elemento de su vista azul y el segundo elemento de la vista roja .