/ / Problema de distribución automática con varios botones alineados horizontal y verticalmente con una etiqueta: ios, objectivo-c, distribución automática, guión gráfico

Problema de reproducción automática con varios botones alineados horizontal y verticalmente con una etiqueta: ios, object-c, autolayout, storyboard

Mire la captura de pantalla adjunta para wCompact|hRegular para diferentes pantallas, estoy tratando de hacerlotrabajando desde horas pero no obteniendo ningún éxito. Mi requisito es que en la parte superior haya una etiqueta con un margen predefinido. Aunque el contenido de la etiqueta se representaría en tiempo de ejecución, pero sé el tamaño del contenido, entonces resizable label en realidad no es necesario, creo. Ahora habría tres filas a la misma distancia. En la primera y tercera fila, habría dos botones con la misma altura y anchura y en la segunda fila habría un botón alineado horizontalmente. He configurado la imagen y el texto de los botones en el guión gráfico. La alineación de control se establece en Horizontal | vertical. Las restricciones para la etiqueta son:
Pinned top space to superview, leading and trailing space equals to:8(superview), height equals:90.
Las restricciones para el botón (Ver transacciones) son:
top space to label, bottom space equals to:8(New Launches Button) leading and trailing space equals to:8(superview) and 8(Place Request Button) respectively, and equal width and height for all buttons.
Se ve bien para 4.7 y 5.5 Pero no satisfecho con la salida para pantallas más pequeñas. Como puede ver, cambiar el tamaño de la imagen de los botones no funciona correctamente (Mayor espacio entre la imagen y el texto del botón). Una cosa más es que no quiero establecer la altura de la etiqueta, porque parece una práctica incorrecta en AutoLayout. Cualquier ayuda sería muy apreciada.enter image description herePara etiqueta
Para el botón

Respuestas

0 para la respuesta № 1

Debe establecer la relación de aspecto para los botones, no solo el ancho y la altura iguales. En ese caso, el diseño automático no reducirá las imágenes.


0 para la respuesta № 2

Realmente deberías poner esto en una vista de desplazamiento paraque si la altura es demasiado grande, el usuario aún puede ver todo desplazándose. Tampoco debe establecer alturas estáticas en las etiquetas, debe permitir que se aplique el tamaño del contenido intrínseco.

Agregue una subvista a su nueva vista de desplazamiento. Fije el ancho de esta subvista al ancho de la vista de desplazamiento. No fijar la altura.

Agregue todos sus botones y etiquetas a este nuevosubvista. Anclarlos a los bordes de la vista y permitir que los tamaños de contenido intrínseco apliquen límites. Establezca varios elementos para tener anchos y alturas iguales. No establezca alturas o anchos explícitos (haga todo por proporción o igualdad para que el diseño automático pueda elegir buenos tamaños).