Jaka jest różnica między plikiem .xib a .storyboard?

159

Czy ktoś może wyjaśnić prostymi słowami różnicę między .xib a .storyboard?

George Sachpatzidis
źródło
Nie mam pojęcia, co to jest .timeline i podejrzewam, że nie ma to nic wspólnego z
osią
1
czy te dwa zupełnie oddzielne pytania, George? Ponadto, kiedy mówisz .timeline, czy mówisz o wersjach zapisanego pliku ?
Michael Dautermann
Miałeś tutaj dwa oddzielne pytania, więc ograniczyłem je do jednego. Pierwsze pytanie zostało tu zadane kilka razy, na przykład w Nie można znaleźć aplikacji opartej na oknie w XCode , więc usunąłem tę część, aby skupić się na pytaniu dotyczącym Storyboardingu.
Brad Larson
1
Zobacz także to podobne pytanie, kiedy używać Storyboard, a kiedy XIB . Zawiera doskonałe szczegółowe odpowiedzi, w tym aktualizacje dla iOS 8 i Xcode 6.
Basil Bourque

Odpowiedzi:

115

Firma Apple wprowadziła koncepcję "storyboarding"SDK systemu iOS5, aby uprościć i lepiej zarządzać ekranami w aplikacji. Nadal możesz korzystać ze .xibsposobu rozwoju.

Przed storyboardem, z każdym UIViewControllerbył powiązany .xib. Storyboardosiąga dwie rzeczy:

  1. .storyboardjest w zasadzie jednym plikiem dla wszystkich ekranów w aplikacji i przedstawia przepływ ekranów. W seguesten sposób możesz dodawać / przejścia między ekranami. Tak więc minimalizuje to standardowy kod wymagany do zarządzania wieloma ekranami.

  2. Minimalizuje ogólną liczbę plików w aplikacji.

Możesz uniknąć używania Storyboardpodczas tworzenia nowego projektu, pozostawiając niezaznaczoną opcję „Użyj scenorysu”.

Aby rozpocząć, możesz polecić ten samouczek .

Sagar Hatekar
źródło
5
Czy tworzenie scenorysów zastępuje potrzebę plików .xib?
William Sham,
16
Idealnie, tak. 1. plik .storyboard = 'n' nie. plików xib.
Sagar Hatekar
2
A co z przejściami między widokami? Wiem, że są odcinki, ale jest tylko kilka różnych stylów odcinków. Zakładam, że nadal możesz przechodzić między widokami w taki sam sposób jak poprzednio, ale jeśli nie używasz płynnej ścieżki, wyglądałoby to dziwnie w scenorysie, prawda? Co o tym myślisz?
dontangg
1
W takim razie sądzę, że w grę wejdą NavigationControllers?
Sagar Hatekar
Ciekawostka: używam tego posta, aby pochwalić się moim (ograniczonym)
kredytem
22

Tak, nadal możesz utworzyć aplikację opartą na oknach dla systemu iOS 5. Jeśli używasz szablonu „pusty projekt”, zobaczysz, że w delegacie aplikacji zostało utworzone okno. Stamtąd możesz normalnie dodawać pliki XIB lub nową scenorys.

Zakładam, że masz na myśli raczej „scenorysy” niż „oś czasu”. Scenorysy umożliwiają wizualne odwzorowanie wszystkich widoków w aplikacjach i ich wzajemnych powiązań. Jeśli dopiero zaczynasz z storyboardy, jest wstępem do storyboardów w WWDC 2011 wideo tutaj . Kurs 2011 Stanford iOS na iTunes-U jest również specyficzny dla iOS 5 i obejmuje scenorysy i nie tylko.

Nathanial Woolls
źródło
15

Scenorys jest jak płótno, na którym umieszczasz wszystkie pliki .xib. Nie masz już plików .xib, po prostu masz kontrolery widoku bezpośrednio na swoim płótnie.

robertfiorentino
źródło
2
Prawdopodobnie najbardziej przydatna odpowiedź.
Munib
9

Storyboard to nowa funkcja dostępna od czasu wydania Xcode 4.2. Oferuje programistom iOS zupełnie nowy sposób tworzenia i projektowania interfejsu użytkownika. Przed wprowadzeniem Storyboard, początkującym szczególnie trudno jest stworzyć interfejs nawigacji (i zakładki). Każdy interfejs jest przechowywany w osobnym pliku xib. Oprócz tego musisz napisać kod, aby połączyć wszystkie interfejsy razem i opisać, jak działa nawigacja.

W przypadku scenorysów wszystkie ekrany są przechowywane w jednym pliku. Daje to koncepcyjny przegląd wizualnej reprezentacji aplikacji i pokazuje, w jaki sposób są połączone ekrany. Xcode zapewnia wbudowany edytor do układania scenorysów. Możesz zdefiniować przejście (znane jako przejścia) między różnymi ekranami, używając po prostu wskaż i kliknij. Nie oznacza to, że nie musisz pisać kodu interfejsu użytkownika. Ale Storyboardy znacznie zmniejszają ilość kodu, który musisz napisać.

Źródło: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

mustafa
źródło
2

XIB:

1) Pliki Xib są używane z pojedynczym UIView.

2) Bardzo trudno jest zaimplementować złożone układy automatyczne w xib.

3) Wykorzystuje więcej pamięci w porównaniu do scenorysu i cichej powolności.

4) Jest kompatybilny z iOS5 i nowszymi

5) Możesz dokonywać lokalizacji dla różnych języków i krajów przy użyciu różnych plików XIB.

6) Trudno jest używać tego samego Xib do obsługi wielu urządzeń.

Storyboard

1) Możesz rozmieścić wszystkie swoje sceny, takie jak kontrolery widoku, kontrolery nawigacji, kontrolery TabBar itp. W jednej serii ujęć.

2) Możesz łatwo użyć funkcji Auto Layout, która definiuje matematyczne relacje między elementami, definiując ich położenie i rozmiar.

3) Zwykle szybko i przydziela mniej pamięci.

4) Nie jest kompatybilny z wcześniejszymi wersjami iOS 5.

5) Komórki „dynamiczne” i „prototypowe” mogą być łatwo używane.

6) Scenorysy najlepiej używać w aplikacjach z małą lub średnią liczbą ekranów.

Najlepsza odpowiedź, jaką widziałem: Xib Vs Storyboard na iOS

Jitendra Gochhayat
źródło
0

XIB i Storyboard służą do tworzenia interfejsów dla użytkowników.

Ważną kwestią jest to, że xibs są używane do tworzenia pojedynczego widoku (ma jednego właściciela pliku na górze pliku xib), ale w przypadku kontrolera widoku można dodać wiele ekranów i monitorować jego przepływ (ma oddzielni właściciele plików).

No_name_untilRecognised
źródło