2009-07-20 21 views
22

Ok, quindi sono completamente nuovo per lo sviluppo di iphone e sono diventato molto lontano per la mia conoscenza. Ho solo bisogno di aiuto per decidere come programmare queste 4-6 immagini nel mio progetto.UIView vs UIViewController

Fondamentalmente voglio creare un fumetto con l'utente che è in grado di scorrere da un'immagine all'altra. Tutte queste foto dovrebbero essere in UIVIEW o UIViewController?

e qualsiasi suggerimento su come collegare queste immagini in modo da poter quindi aggiungere il codice per il tocco sarebbe fantastico!

risposta

41

Un UIViewController non può visualizzare nulla; semplicemente coordina la visualizzazione di un UIView. Quindi le immagini reali dovranno essere fatte in un UIView. Inoltre, il tuo UIView è responsabile del riconoscimento di tocchi, gesti, ecc. Ecco dove finisce, però; la reazione effettiva del tuo programma dovrebbe spettare a UIViewController.

In altre parole, insegni a una sottoclasse di UIView come riconoscere un passaggio a sinistra o a destra e, una volta deciso che è stato effettuato uno swipe, notifica la sottoclasse UIViewController di quell'evento. Il controllore deciderà quindi quale immagine sarà visualizzata successivamente e dirà alla vista di configurarla.

Fa parte del modello Model-View-Controller. Si tratta di un modello ben noto e ampiamente utilizzato nello sviluppo di iPhone, quindi ti sarà utile leggere su di esso.

4

Utilizzerete entrambi. Lo sviluppo di Cocoa Touch segue la metodologia MVC (Model, View, Controller). È un modo di separare la logica del codice e gli elementi dell'interfaccia utente. UIView è dove gestisci come appare, UIViewController è la classe in cui gestisci gli eventi. Se vuoi il modo più semplice per scorrere molte pagine di contenuti, guarda in UIPageControl.

4

Le foto devono essere aggiunte (via addSubview) a un oggetto UIView o di un oggetto sottoclasse di UIView come UIControl, UIScrollView, ecc

Probabilmente non è necessario creare una classe di visualizzazione del proprio, ad esempio, MyView. Ho scoperto che l'unica vera ragione per creare una visualizzazione personalizzata è per l'efficienza o per contenuti altamente dinamici come testo o immagini che si muovono all'interno della vista. Se non si prevede di implementare la funzione drawRect, non preoccuparsi di una visualizzazione personalizzata.

desidera sottoclasse UIViewController. Gestirà il comportamento della tua vista ed è (di solito) il posto migliore per comporre la vista che controlla.

UIPageControl è probabilmente il modo più semplice per implementare il comportamento di scorrimento, ma può essere complicato: leggere attentamente la documentazione.

Problemi correlati