2009-07-20 10 views
22

Ok, soy realmente nuevo en el desarrollo de iphone y he llegado bastante lejos para mi conocimiento. Solo necesito ayuda para decidir cómo programar estas 4-6 imágenes en mi proyecto.UIView vs UIViewController

Básicamente, quiero hacer un cómic con el usuario que pueda deslizar de una imagen a otra. ¿Deberían todas estas imágenes estar en UIVIEW o UIViewController?

y cualquier consejo sobre cómo conectar estas imágenes para que pueda agregar el código para el tacto sería increíble.

Respuesta

41

Un UIViewController no puede mostrar nada; simplemente coordina la visualización de una UIView. Entonces, las imágenes reales van a tener que hacerse en una UIView. Además, tu UIView es responsable de reconocer toques, gestos, etc. Sin embargo, ahí es donde termina; la reacción real de su programa debe corresponder al UIViewController.

En otras palabras, le enseñarías a una subclase UIView a reconocer un deslizamiento hacia la izquierda o hacia la derecha, y una vez que hubiera decidido que se hubiera producido un deslizamiento, notificaría a tu subclase UIViewController de ese evento. El controlador luego decidiría qué imagen se mostraría a continuación y le diría a la vista que la configure.

Esto es parte del patrón Model-View-Controller. Es un patrón bien conocido y ampliamente utilizado en el desarrollo de iPhone, por lo que estaría bien servido para leer sobre él.

4

Utilizará ambos. El desarrollo Cocoa Touch sigue la metodología MVC (Modelo, Vista, Controlador). Es una forma de separar la lógica del código y los elementos de la interfaz del usuario. UIView es donde manejas lo que parece, UIViewController es la clase en la que manejas los eventos. Si desea la manera más fácil de deslizar a través de muchas páginas de contenido, mire en UIPageControl.

4

Las imágenes tienen que ser añadido (a través de addSubview) a un objeto o un objeto UIView subclase de UIView como uicontrol, UIScrollView, etc.

es probable que no necesita crear una clase de vista de su propia, por ejemplo, MyView. Descubrí que la única razón real para crear una vista personalizada es la eficiencia o el contenido altamente dinámico, como el texto o las imágenes que se mueven dentro de la vista. Si no planea implementar la función drawRect, no se moleste con una vista personalizada.

Usted quiere subclasificar el UIViewController. Gestionará el comportamiento de su vista, y es (normalmente) el mejor lugar para componer la vista que controla.

UIPageControl es probablemente la forma más fácil de implementar el comportamiento de deslizamiento, pero puede ser complicado: lea la documentación detenidamente.

Cuestiones relacionadas