Apa perbedaan antara file .xib dan .storyboard?

159

Dapatkah seseorang menjelaskan dengan kata-kata sederhana perbedaan antara .xib dan .storyboard?

George Sachpatzidis
sumber
Saya tidak tahu apa .timeline itu, dan saya kira itu tidak ada hubungannya dengan timeline Facebook yang merujuk pada tag
iandotkelly
1
apakah kedua pertanyaan ini benar-benar terpisah, George? Juga, ketika Anda mengatakan .timeline, apakah Anda berbicara tentang versi file yang disimpan ?
Michael Dautermann
Anda punya dua pertanyaan terpisah di sini, jadi saya memperbaikinya menjadi satu. Pertanyaan pertama telah ditanyakan beberapa kali di sini, seperti di Tidak dapat menemukan aplikasi berbasis jendela di XCode , jadi saya menghapus bagian itu untuk fokus pada pertanyaan Storyboarding.
Brad Larson
1
Lihat juga pertanyaan serupa ini, Kapan menggunakan Storyboard dan kapan menggunakan XIB . Memiliki jawaban terinci yang sangat baik termasuk pembaruan untuk iOS 8 dan Xcode 6.
Basil Bourque

Jawaban:

115

Apple memperkenalkan konsep "storyboarding"di iOS5 SDK untuk menyederhanakan dan mengelola layar di aplikasi Anda dengan lebih baik. Anda masih bisa menggunakan .xibcara pengembangan.

Pra-storyboard, masing UIViewController- masing memiliki kaitan .xibdengannya. Storyboardmencapai dua hal:

  1. .storyboardpada dasarnya adalah satu file tunggal untuk semua layar Anda di aplikasi dan itu menunjukkan aliran layar. Anda dapat menambahkan segues/ transisi antar layar, dengan cara ini. Jadi, ini meminimalkan kode boilerplate yang diperlukan untuk mengelola beberapa layar.

  2. Meminimalkan jumlah keseluruhan file dalam suatu aplikasi.

Anda dapat menghindari penggunaan Storyboardsaat membuat proyek baru dengan membiarkan opsi "Gunakan Storyboard" tidak dicentang.

Anda bisa merujuk tutorial ini untuk memulai.

Sagar Hatekar
sumber
5
Jadi, apakah storyboard menggantikan kebutuhan file .xib?
William Sham
16
Idealnya, Ya. 1 .storyboard file = 'n' no. file .xib.
Sagar Hatekar
2
Bagaimana dengan transisi antar tampilan? Saya tahu bahwa ada segues, tetapi hanya ada beberapa gaya segues yang berbeda. Saya berasumsi bahwa Anda masih dapat bertransisi di antara tampilan dengan cara yang sama seperti sebelumnya, tetapi jika Anda tidak menggunakan segue, itu akan terlihat aneh di storyboard, kan? Apa pendapat Anda tentang itu?
dontangg
1
Dalam hal itu, saya percaya Navigator Kontrol akan ikut bermain?
Sagar Hatekar
fakta menyenangkan: Saya menggunakan posting ini untuk memamerkan kredibilitas iOS (terbatas) saya: D
Sagar Hatekar
22

Ya, Anda masih dapat membuat aplikasi berbasis Window untuk iOS 5. Jika Anda menggunakan templat "proyek kosong", Anda akan melihat bahwa sebuah jendela dibuat untuk Anda dalam delegasi aplikasi. Dari sana Anda dapat menambahkan file XIB seperti biasa, atau storyboard baru.

Saya berasumsi maksud Anda "storyboard" daripada "timeline". Storyboard memungkinkan Anda memetakan, secara visual, semua tampilan dalam aplikasi Anda dan bagaimana mereka saling terkait. Jika Anda baru memulai dengan storyboard, ada pengantar storyboard dalam video WWDC 2011 di sini . The 2011 Stanford iOS saja di iTunes-U juga iOS 5-spesifik dan mencakup storyboard dan banyak lagi.

Nathanial Woolls
sumber
15

Storyboard seperti kanvas tempat Anda meletakkan semua file .xib Anda. Anda tidak lagi memiliki .xibs, Anda hanya memiliki View Controllers langsung di kanvas Anda.

robertfiorentino
sumber
2
Mungkin jawaban yang paling berguna.
Munib
9

storyboard adalah fitur baru yang tersedia sejak rilis Xcode 4.2. Ini menawarkan cara baru yang lengkap bagi pengembang iOS untuk membuat dan merancang antarmuka pengguna. Sebelum pengenalan Storyboard, sangat sulit bagi pemula untuk membuat antarmuka navigasi (dan tab). Setiap antarmuka disimpan dalam file xib yang terpisah. Di atasnya, Anda harus menulis kode untuk menghubungkan semua antarmuka bersama dan menjelaskan cara kerja navigasi.

Dengan Storyboards, semua layar disimpan dalam satu file. Ini memberi Anda gambaran konseptual representasi visual untuk aplikasi dan menunjukkan kepada Anda bagaimana layar terhubung. Xcode menyediakan editor bawaan untuk tata letak Storyboard. Anda dapat menentukan transisi (dikenal sebagai segues) antara berbagai layar hanya menggunakan titik dan klik. Ini tidak berarti Anda tidak perlu menulis kode untuk antarmuka pengguna. Tetapi Storyboard secara signifikan mengurangi jumlah kode yang perlu Anda tulis.

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

mustafa
sumber
2

XIB:

1) File Xib digunakan dengan UIView tunggal.

2) Sangat sulit untuk mengimplementasikan auto-layout di xib.

3) Ini menggunakan lebih banyak memori dibandingkan dengan storyboard dan tenang lambat.

4) Ini kompatibel dari iOS5 dan seterusnya

5) Anda dapat melakukan pelokalan untuk berbagai bahasa dan negara menggunakan XIB yang berbeda.

6) Sulit menggunakan Xib yang sama untuk mendukung banyak perangkat.

Storyboard

1) Anda dapat mengatur semua Adegan Anda seperti View Controllers, Nav Controllers, TabBar Controllers, dll dalam satu storyboard.

2) Anda dapat menggunakan Tata Letak Otomatis dengan mudah yang mendefinisikan hubungan matematis antara elemen yang menentukan posisi dan ukurannya.

3) Biasanya cepat dan mengalokasikan lebih sedikit memori.

4) Ini tidak kompatibel sebelum iOS 5.

5) sel "Dinamis" dan "Prototipe" dapat digunakan dengan mudah.

6) Storyboard terbaik untuk digunakan untuk aplikasi dengan jumlah layar kecil hingga menengah.

Jawaban terbaik yang saya lihat: Xib Vs Storyboard di iOS

Jitendra Gochhayat
sumber
0

XIB dan Storyboard digunakan untuk membuat antarmuka bagi pengguna.

Satu poin penting adalah, xibs digunakan untuk membuat tampilan tunggal (memiliki pemilik file tunggal di bagian atas file xib), tetapi dalam kasus untuk viewcontroller, beberapa layar dapat ditambahkan dan alirannya juga dapat dipantau (memiliki pemilik file terpisah).

No_name_untilRecognised
sumber