Desplazamiento a través de UIScrollView en Interface Builder para Xcode 4


Esto me parece como si fuera un problema común, pero no puedo encontrar la respuesta en ninguna parte. Esta pregunta parece abordar el problema, pero parece que no puedo conseguir que la solución funcione y no estoy seguro de que se refiera a Xcode 4.

Cuando se usa Interface Builder en Xcode 4 y se trabaja con un UIScrollView, ¿hay alguna manera de desplazar la vista hacia abajo en el propio Interface Builder para ver/agregar/editar controles que están fuera de la sección visible de la pantalla? Me las he arreglado para empujar un un par de controles hacia abajo usando las teclas de flecha, pero ahora no puedo verlos y por lo tanto no puedo manipularlos en Interface Builder. Desplazar la vista en IB sería el primer premio, pero si hay una manera de incluso seleccionar los controles utilizando un menú desplegable o lo que sea para que pueda empujarlos de nuevo con las teclas de flecha, que al menos sería algo. Gracias.

Author: Community, 2011-06-06

7 answers

Solo una solución que ayuda en Xcode4:

  1. Expanda el Panel Objetos que se encuentra a la izquierda de la vista del Creador de interfaces (hay una pequeña flecha en la parte inferior del panel).
  2. Arrastre su UIScrollView desde la jerarquía de vistas y colóquelo en el nivel superior.
  3. Ahora puede cambiar el tamaño para acceder a más contenido (desplazarse a ese contenido no funcionó para mí).
  4. Cuando haya terminado de agregar vistas secundarias a la vista de desplazamiento, debe redimensionarla de nuevo para ser más pequeño o del mismo tamaño que la vista principal.
  5. Después de los cambios que tendría que poner de nuevo la vista de desplazamiento donde pertenece en su hierachy
 24
Author: marcus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-18 13:42:45

Establece el Simulated Size de ViewController en Freeform y establece un height muy grande. E. g: 1000 y voilà! Ahora puede desplazarse para ver todas las cosas y añadir aún más! :)

P.d.: Recuerde establecer set Fixed cuando haya terminado para evitar problemas!

introduzca la descripción de la imagen aquí

 19
Author: KrLx_roller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-15 18:01:59

Normalmente hago lo siguiente cuando quiero (tengo que) construir una pantalla de desplazamiento largo:

  1. Establezca el tamaño del Controlador de vista en Freeform
  2. Establecer la altura de la vista de nivel superior a algo muy grande
  3. Organizar todos los controles que quiero en la Vista
  4. Seleccione todos los controles
  5. Seleccione Editor- > Incrustar en - > Vista de desplazamiento
  6. Ajuste el tamaño del Controlador de vista de nuevo a normal (normalmente inferido)
 6
Author: Jonathan Arbogast,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-15 13:27:18

Bueno, hay algunas cosas diferentes que puedes hacer. Hay una lista de elementos en su vista que puede abrir a la izquierda del espacio de trabajo haciendo clic en el botón que parece un pequeño botón de reproducción en la barra de herramientas. Al hacer doble clic en cualquier elemento lo selecciona para que pueda usar las teclas de flecha.

La mejor opción es utilizar el panel layout (normalmente a la derecha) e introducir los valores de posición de forma manual. A veces voy a usar esto para mover mi scrollview hasta donde puedo ver donde estoy trabajando y luego moverlo volver.

 5
Author: Dancreek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-06 13:32:28

Encontré una solución aunque tienes que usar un controlador de vista de tabla. Si define la tabla como estática, el desplazamiento funciona en interface builder cuando la tabla es más grande que el tamaño de Windows. Además, se puede agregar una vista estándar a la parte superior e inferior de la tabla, estas vistas también se pueden desplazar. El desplazamiento se realiza una vez que se selecciona el controlador. Espero que encuentres este truco útil.

 0
Author: Jorge Perez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-05 09:18:18

Sé que esto no es exactamente lo que estaba buscando, pero siempre arrastre la vista de desplazamiento fuera del controlador de vista a la "mesa de trabajo" donde puede cambiar el tamaño a voluntad y ver todo.

Una vez que hago mis ediciones, simplemente lo redimensiono para que se ajuste al espacio asignado en mi vista y lo vuelvo a colocar en el controlador de vista.

 0
Author: JRulle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-28 16:15:53

Establezca la vista raíz en freeform y ~1000 pt de altura, vaya a través de las vistas secundarias y establézcalas a esta altura también(incluida la vista de desplazamiento), en el método viewdidload establezca la altura al tamaño apropiado.

 0
Author: snowcamel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-23 13:13:16