2012-01-02 11 views
17

Ho alcuni UIViewControllers dal mio vecchio progetto iOS4, stanno usando .xib, creato nel builder dell'interfaccia.Storyboard per iPhone IOS5, come caricare un UIViewController con un file .xib personalizzato?

Il mio nuovo progetto, realizzato per iOS5, utilizza gli storyboard.

Sto provando ad aggiungere un UIViewController allo storyboard, ma è necessario utilizzare un XIB personalizzato che abbia già. Ho impostato l'identità del controllore nell'indentity inspector (nel generatore di interfacce), ma non sono sicuro che sia a chiedere a quel controller di caricare un file .xib personalizzato.

Qualsiasi aiuto è apprezzato!

PS. Fino ad oggi sono stato in grado di aggirare questo creando una classe "wrapper" per gli scopi dello storyboard, e avere quella classe ha un altro UIViewController. Ma questo tipo sconfigge l'intero punto di uno storyboard.

risposta

19

Si potrebbe copiare il contenuto del XI ter nella storyboard e poi istanziare utilizzando:

- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier 

dopo aver impostato l'identificatore su di esso. Se hai bisogno dell'istanza dello storyboard puoi ottenerlo in questo modo:

[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
+0

Non è più semplice copiare i contenuti .xib nel suo file storyboard principale? – LordTwaroog

+0

Sì, questo è quello che gli stavo dicendo di fare. Nota che puoi anche ottenere lo storyboard da qualsiasi UIViewController dalla proprietà dello storyboard. –

+0

Dopo aver scherzato con i wrapper e l'ordine del tipo viewDidLoad di crap, sono felice di copiare l'interfaccia e di collegarla manualmente, anche se questo è quello che speravo di evitare. –

-12

Non è possibile unire xib e storyboard nel progetto: è uno degli altri, temo.

+8

Questo è falso. Puoi avere xibs e storyboard. – OlivaresF

1

La risposta di Mike K è falsa.

Mentre mixare XIBs e Storyboard non risolve realmente il problema di Alex, è che è possibile eseguire all'interno dello stesso progetto.

Vedere: https://stackoverflow.com/a/8516479/1309238 re: caricamento di un secondo storyboard.

Non sono sicuro se includere un "Mainboardboard" nel Riepilogo destinazione è consigliabile se si intende farlo, ma se si è caricato un XIB invece di uno storyboard per iniziare, è possibile modificare il codice collegato sopra per caricare lo storyboard dopo XIB.

Non sono sicuro di poter saltare nel mezzo di uno storyboard da un XIB, che potrebbe essere stato ciò che intendeva Mike.

Problemi correlati