2012-02-22 9 views

risposta

13

Se si dispone di un UIView, è possibile creare facilmente un semplice UIViewController come contenitore.

UIViewController* controller = [[[UIViewController alloc] init] autorelease]; 
controller.view = myView; 
+0

Questo è quello che sto facendo già. – Krumelur

+0

bella risposta .. :) –

0

In genere è consigliabile disporre di un UIViewController per una visualizzazione poiché il controller gestisce tutte le interazioni e l'impostazione della vista. Anche se in alcune situazioni è possibile visualizzare sullo schermo viste "nude", lo UIPopoverController è progettato per funzionare con uno UIViewController e il paradigma ViewController è molto ben consolidato e incoraggiato nel mondo iOS, quindi anche se pensi di non aver bisogno di un visualizzare il controller non dovrebbe essere dannoso per averne uno e si potrebbe sempre voler estendere la funzionalità corrente, giusto?

Nota: se si è su iOS 5.0 la creazione di viste in Popovers è molto semplice e si tratta di trascinare e rilasciare i controller di visualizzazione e collegarli allo storyboard. Esempio: How to create Popovers with Xcode Storyboards

1

E 'possibile presentare rapidamente un'UIView in un UIPopoverController senza avere un UIViewController gestione del UIView?

No. UIPopoverController gestisce un controller di vista, non una vista. Quando si crea un controller popover, è necessario fornire il controller di visualizzazione che gestirà il contenuto. Ciò non significa che devi creare una sottoclasse speciale di controllo della vista in ogni posto in cui usi un popover - come indicato da bendytree, puoi usare un semplice UIViewController vecchio se vuoi. Ma non puoi semplicemente passare una vista a UIPopoverController - non ha modo di accettarlo e non saprebbe cosa fare con esso se lo facesse.

Problemi correlati