Qual è la differenza tra un file .xib e un .storyboard?


159

Qualcuno può spiegare in parole semplici la differenza tra .xib e .storyboard?


Non ho idea di cosa sia una .timeline, e sospetto che non abbia nulla a che fare con la sequenza temporale di Facebook a cui fa riferimento il tag
iandotkelly

1
sono queste due domande completamente separate, George? Inoltre, quando dici .timeline, stai parlando delle versioni di un file salvato ?
Michael Dautermann,

Hai avuto due domande separate qui, quindi l'ho affinato in una sola. La prima domanda è stata posta alcune volte qui, come in Impossibile trovare l'applicazione basata su finestra su XCode , quindi ho rimosso quella parte per concentrarmi sulla domanda di Storyboard.
Brad Larson

1
Vedi anche questa domanda simile, Quando usare lo Storyboard e quando usare gli XIB . Ha eccellenti risposte dettagliate tra cui aggiornamenti per iOS 8 e Xcode 6.
Basil Bourque,

Risposte:


115

Apple ha introdotto il concetto di "storyboarding"iOS5 SDK per semplificare e gestire meglio gli schermi nella tua app. Puoi ancora usare il .xibmodo di sviluppo.

Pre-storyboard, ognuno UIViewControlleraveva un associato .xibcon esso. Storyboardrealizza due cose:

  1. .storyboardè essenzialmente un singolo file per tutte le schermate nell'app e mostra il flusso delle schermate. È possibile aggiungere segues/ transizioni tra schermate, in questo modo. Pertanto, ciò riduce al minimo il codice del boilerplate richiesto per gestire più schermate.

  2. Riduce al minimo il numero complessivo di file in un'app.

Puoi evitare di usarlo Storyboarddurante la creazione di un nuovo progetto lasciando deselezionata l'opzione "Usa storyboard".

Puoi consultare questo tutorial per iniziare.


5
Quindi lo storyboard sostituisce la necessità di file .xib?
William Sham,

16
Idealmente, sì. 1 .storyboard file = 'n' no. di file .xib.
Sagar Hatekar,

2
Che dire delle transizioni tra le viste, però? So che ci sono segues, ma ci sono solo alcuni stili diversi di segues. Presumo che tu possa ancora passare da una vista all'altra come prima, ma se non stai usando un follow, sembrerebbe strano nello storyboard, giusto? Cosa ne pensi?
Dontangg,

1
In tal caso, credo che i NavigationController entrerebbero in gioco?
Sagar Hatekar,

Curiosità: utilizzo questo post per mostrare il mio (limitato)
credito

22

Sì, puoi comunque creare un'applicazione basata su Windows per iOS 5. Se usi il modello "progetto vuoto", vedrai che viene creata una finestra per te nel delegato dell'app. Da lì puoi aggiungere normalmente i file XIB o un nuovo storyboard.

Suppongo che intendi "storyboard" anziché "sequenza temporale". Gli storyboard ti consentono di mappare, visivamente, tutte le viste nelle tue applicazioni e come si collegano. Se hai appena iniziato con gli storyboard, c'è un'introduzione agli storyboard nei video del WWDC 2011 qui . Il corso iOS Stanford 2011 su iTunes-U è anche specifico per iOS 5 e copre storyboard e altro.


15

Uno storyboard è come una tela in cui metti tutti i tuoi file .xib. Non hai più .xibs, hai solo i controller di visualizzazione direttamente sulla tua tela.


2
Forse la risposta più utile.
Munib,

9

lo storyboard è una nuova funzionalità disponibile dal rilascio di Xcode 4.2. Offre un modo completamente nuovo per gli sviluppatori iOS di creare e progettare l'interfaccia utente. Prima dell'introduzione di Storyboard, è particolarmente difficile per i principianti creare l'interfaccia di navigazione (e scheda). Ogni interfaccia è memorizzata in un file xib separato. Inoltre, devi scrivere codice per collegare tutte le interfacce e descrivere come funziona la navigazione.

Con Storyboard, tutte le schermate sono memorizzate in un singolo file. Questo ti offre una panoramica concettuale della rappresentazione visiva per l'app e ti mostra come sono collegati gli schermi. Xcode fornisce un editor integrato per il layout degli Storyboard. È possibile definire la transizione (nota come segues) tra le varie schermate semplicemente usando punta e clicca. Ciò non significa che non è necessario scrivere codice per l'interfaccia utente. Ma gli storyboard riducono significativamente la quantità di codice che devi scrivere.

Fonte: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/


2

XIB:

1) I file Xib vengono utilizzati con una singola UIView.

2) È molto difficile implementare complessi layout automatici in xib.

3) Utilizza più memoria rispetto allo storyboard e silenziosamente lento.

4) È compatibile da iOS5 e versioni successive

5) È possibile eseguire localizzazioni per lingue e paesi diversi utilizzando XIB diversi.

6) È difficile utilizzare lo stesso Xib per supportare più dispositivi.

storyboard

1) È possibile disporre tutte le scene come controller di visualizzazione, controller di navigazione, controller TabBar, ecc. In un singolo storyboard.

2) È possibile utilizzare facilmente il layout automatico che definisce le relazioni matematiche tra gli elementi che ne definiscono la posizione e il dimensionamento.

3) Solitamente veloce e alloca meno memoria.

4) Non è compatibile prima di iOS 5.

5) Le celle "dinamiche" e "prototipo" possono essere utilizzate facilmente.

6) Storyboard da utilizzare per le app con un numero di schermi medio-piccolo.

La migliore risposta che ho visto: Xib Vs Storyboard in iOS


0

XIB e Storyboard sono usati per creare interfacce per gli utenti.

Un punto importante è che gli xib vengono utilizzati per la creazione di una vista singola (ha il proprietario del singolo file nella parte superiore del file xib), ma nel caso del viewcontroller, è possibile aggiungere più schermate e anche il suo flusso può essere monitorato (ha proprietari di file separati).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.