2011-11-20 7 views
11

Estoy usando el ejemplo de esta pregunta: How to combine UIScrollview with UIPagecontrol to show different views? para agregar un UIScrollView que contiene múltiples subvistas a una página en mi aplicación de iPad.¿Cómo diseñar subvistas para UIScrollView cuando se usan storyboards para iOS5?

Mi aplicación tiene una vista grande en la parte superior y una pequeña caja en la parte inferior. El cuadro en la parte inferior es UIScrollView; el usuario deslizará hacia la izquierda y hacia la derecha para mostrar cuadros para varias funciones en esa pequeña sección. La gran vista en la parte superior nunca cambia, por lo que no creo que los pasos sean apropiados.

Tengo un guión gráfico con una sola escena View Controller en él. Si bien puedo agregar vistas a esto, no puedo diseñar vistas 'fuera de pantalla'; en otras palabras, no hay ningún lugar donde pueda dibujar cada una de mis subvistas. ¿Cómo puedo hacer esto? ¿Debo hacer XIB por separado para cada subvista? Si es así, ¿cómo los cargo? ¿O debería, en cambio, hacer que mi scrollview (subview width * subview count) sea amplia y dibujar cada vista adyacente a la anterior? Esta es mi primera aplicación de iOS, así que puedo tener algunas cosas al revés.

Gracias

Tim

Respuesta

2

final encontré que podía crear las subvistas en INIs separadas. En la subvista NIB, establezco la identidad del propietario del archivo en la clase de mi controlador de vista principal y agrego una salida al controlador de vista para la subvista. Luego enlace la subvista en el NIB a esa salida en File's Owner.

Finalmente en el principal del controlador de vista viewDidLoad llamo esto para cada subvista SEMILLA:

[[NSBundle mainBundle] loadNibNamed:@"MySubView" owner:self options:nil]; 
4

También encontré que, pero con el tiempo se pierde el propósito de creación de guiones gráficos que se va a presentar con el flujo completo de su aplicación gráfica

Lo que realmente me siento falta aquí es un nuevo objeto de cacao es decir UIPagedScrollController que cuando se añade al guión tendrían que es la transición segue propia similar a UIToolBarController y UINavigationController pero estaría compuesta tanto de la UIPageControl y UIScrollView necesario para hacer la magia.

6

Actualmente, los guiones gráficos no son ideales para hacer esto, sin embargo, no debe usar archivos nib separados. En su lugar, debe obtener otros viewControllers y configurar cada vista según sea necesario. Debe recordar establecer el identificador del controlador de vista en el constructor de interfaz y luego puede cargar la vista como así,

UIStoryboard * storyboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" bundle: nil]; UIViewController * myViewController = [storyboard instantiateViewControllerWithIdentifier: @ "MyViewControllerIdentifierInIB"];

Ahora que tiene el controlador de vista puede tener acceso a la vista y agregarla donde desee.

Nota: Para cambiar el tamaño de su vista, deberá seleccionar el controlador de vista y cambiar su Tamaño en el inspector de atributos en el constructor de interfaces a freeform. Entonces podrá cambiar el tamaño de la vista.

+0

No vi este Scott, gracias. Prefiero probar algo como esto que usar plumillas separadas. Voy a darle una oportunidad. –

+5

"no ideal" es insuficiente: los guiones gráficos de AFAICS evitan activamente el uso de UIScrollView con los contenidos: todas las características "antiguas" de IB son eliminadas o inhabilitadas por Apple. Los dedos cruzados Apple arregla este lío pronto – Adam

Cuestiones relacionadas