tutorial how example create ios uiscrollview autolayout xcode5

ios - how - Restricciones de espacio al final erróneas para los hijos de UIScrollView



uiscrollview storyboard (1)

Encontré una buena solución :) La razón de este comportamiento es que la vista de desplazamiento adapta el tamaño de la vista de contenido a lo que realmente necesitan sus subvistas, y no rellena el ancho / alto automáticamente. Si se debe completar el ancho, la vista de desplazamiento debe contener al menos una vista que llene el ancho de la pantalla.

Con estos pasos, agregué una vista que tiene el mismo ancho que la vista de desplazamiento (la vista de desplazamiento en sí misma, no su área de vista de contenido), lo que llevó a que mi vista de desplazamiento finalmente se expandiera a todo el ancho porque también había agregado restricciones "espacio para supervisar 0/0/0/0 "a la vista de desplazamiento.

  • Suponiendo un controlador de vista vacío con una vista de raíz
  • Agregar vista de desplazamiento, establecer restricciones "espacio para supervisar arriba / izquierda / derecha / inferior = 0/0/0/0" en él
  • Agregue su interfaz de usuario a la vista de desplazamiento como desee y establezca restricciones también como desee
  • Agregue una nueva Vista, renómbrela a algo como "Asegura que la vista de desplazamiento llene el ancho", con las siguientes restricciones
    • Espacio inicial / final / superior para supervisar (¡esa es la vista de desplazamiento!) = 0
    • Altura 0 porque queremos que sea invisible porque la vista es solo una ayuda
    • Parte importante: seleccione esta vista y la vista de desplazamiento en la jerarquía y limítelas a la misma anchura. Dado que la vista de desplazamiento está restringida a su supervisión, recibirá un ancho. Entonces esta restricción garantiza que la vista de contenido de la vista de desplazamiento también sea (al menos) tan ancha.

He creado un nuevo Controlador de Vista, luego agregué una Vista de Desplazamiento como elemento secundario de la Vista raíz, y configuré "Líder / Superior / Final / Espacio Inferior a Supervisión" a 0 para que la vista de desplazamiento llene completamente su elemento primario.

Luego agregué un botón como elemento secundario de la vista de desplazamiento, con restricciones de espacio de 15 a "Supervisión" (es decir, a la vista de desplazamiento). Por lo tanto, espero que el botón tenga un espaciado de 15 en los bordes superior / izquierdo / derecho, y que el contenido de la vista de desplazamiento finalice en ''parte inferior del botón + 15''. Sin embargo, el ancho del botón no es correcto (probado dentro de Xcode 5 Interface Builder, simuladores iOS 6/7):

¡Ni siquiera funciona si limito el botón con "Equal Width to Superview"! Todavía no ocupa todo el ancho.

¿Cómo puedo solucionar esto?