Domanda

Sono immersioni nello sviluppo iPad e sto imparando molto in fretta, ma ovunque guardo, ho domande. Dopo aver creato una nuova applicazione SplitView in Xcode utilizzando il modello, esso genera la classe AppDelegate, classe RootViewController, e la classe DetailViewController. Insieme a questo, si crea un file di .xib per MainWinow.xib e DetailView.xib.

  1. Come fanno queste cinque file di lavorare insieme?
  2. Perché c'è un file pennino per il detailview, ma non il RootView?
  3. Quando si fa doppio clic sul file MainWindow.xib, Interface Builder lanci senza una finestra "View", perché?
  4. Di seguito è riportato il codice per il metodo didFinishLaunchingWithOptions all'interno della classe AppDelegate. Perché stiamo aggiungendo lo splitViewController come una visualizzazione secondaria?

    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    
    // Override point for customization after app launch    
    rootViewController.managedObjectContext = self.managedObjectContext;
    
    // Add the split view controller's view to the window and display.
    [window addSubview:splitViewController.view];
    [window makeKeyAndVisible];
    
    return YES;
    

    }

Grazie mille in anticipo per il vostro aiuto! Ho ancora molto da imparare, quindi mi scuso se questa domanda è assurda in alcun modo. Ho intenzione di continuare a ricercare queste domande in questo momento!

È stato utile?

Soluzione

MainWinow.xib è la finestra predefinita creato da ogni progetto tocco di cacao. E 'la finestra di tutte le altre finestre sono aggiunti, di solito in AppDelegate.

AppDelegate, sto supponendo che si sa già. Questa è la vostra classe di base per l'applicazione.

SplitViewController è un UISplitViewController ed è aggiunto al MainWindow.xib per voi utilizzando IB, ma non aggiunta alla finestra in MainView.xib fino didFinishLaunchingWithOptions:. È gestito

Per impostazione predefinita SplitViewController gestisce due ViewControllers come convenienza per voi. Tipicamente questi sono un UITableView (chiamato RootViewController nel modello), ed un UIViewController (chiamato DetailViewController). Anche se è possibile rimuovere questi del tutto, se si desidera.

RootViewController è semplicemente un UITableViewController. Si aggiunge ad SplitViewController in IB.

DetailViewController è un UIViewController, ed è anche aggiunto IB in MainWindow.xib per voi.

  

Perché c'è un file pennino per il   Detailview, ma non il RootView?

Credo detailview viene caricato da un file pennino per facilitare la gestione della memoria. Ma è altrettanto facilmente potrebbe essere stato creato a livello di codice. Non c'è un pennino per il RootView perché è già aggiunto e inizializzato in UISplitViewController. Avrebbe potuto essere altrettanto facilmente caricato da un file XI ter.

  

Quando si fa doppio click sul   file di MainWindow.xib, Interface Builder   lanci senza una finestra "View", perché?

Questo template predefinito iPad utilizza un UISplitViewController chiamato SplitViewController e non un UIView Chiamato Vedi come altri modelli di iPhone.

  

Di seguito è riportato il codice per   metodo didFinishLaunchingWithOptions   all'interno della classe AppDelegate. Perché sei   abbiamo aggiungendo lo splitViewController come   visualizzazione secondaria?

SplitViewController esiste solo nel MainWindow.xib, non è aggiunto alla finestra (in MainWindow.xib). Quindi si aggiunge qui. Se fosse annidato in SplitViewController non ci sarebbe alcun bisogno di aggiungere nel AppDelegate.

Questo è il documento che si desidera lettura

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top