Чим відрізняється файл .xib від .storyboard?


159

Чи може хтось простими словами пояснити різницю між .xib та .storyboard?


Я поняття не маю, що таке .timeline, і я підозрюю, що це не має нічого спільного з тимчасовою шкалою Facebook, на яку посилається тег
iandotkelly

1
це два абсолютно окремих питання, Джордже? Також, коли ви говорите .timeline, чи говорите про версії збереженого файлу ?
Майкл Даутерманн

У вас було два окремих питання, тож я уточнив це лише до одного. Перше запитання тут задавали кілька разів, наприклад, у програмі XCode не можна знайти вікно , тому я видалив цю частину, щоб зосередитись на питанні Storyboarding.
Бред Ларсон

1
Дивіться також подібне запитання: Коли користуватися Інструментарій та коли використовувати XIB . Має чудові детальні відповіді, включаючи оновлення для iOS 8 та Xcode 6.
Basil Bourque

Відповіді:


115

Apple представила концепцію "storyboarding"в iOS5 SDK для спрощення та кращого керування екранами у вашому додатку. Ще можна використовувати .xibшлях розвитку.

Попередня дошка, кожна з нею UIViewControllerбула пов’язана .xib. Storyboardдосягає двох речей:

  1. .storyboardце по суті один єдиний файл для всіх ваших екранів у додатку, і він показує потоки екранів. Ви можете додавати segues/ переходити між екранами таким чином. Таким чином, це мінімізує код котла, необхідний для управління кількома екранами.

  2. Мінімізує загальну кількість файлів у додатку.

Ви можете уникнути використання Storyboardпід час створення нового проекту, залишивши прапорець "Використовувати розгорнуту дошку".

Ви можете звернутися до цього підручника, щоб розпочати роботу.


5
Тож замість розкадровки замінює потребу у файлах .xib?
Вільям Шам

16
В ідеалі, так. 1 .storyboard file = 'n' ні. файлів .xib.
Сагар Хатекар

2
А як щодо переходів між поглядами? Я знаю, що є сеги, але є лише кілька різних стилів. Я припускаю, що ви все ще можете переходити між переглядами так само, як і раніше, але якщо ви не використовуєте segue, це виглядало б дивно в дошці розповідей, правда? Які ваші думки з цього приводу?
dontangg

1
У такому випадку я вважаю, що NavigationControllers вступив би в гру?
Сагар Хатекар

цікавий факт: я використовую цю публікацію, щоб показати свій (обмежений)
кредит для

22

Так, ви все одно можете створити додаток на базі Windows для iOS 5. Якщо ви використовуєте шаблон "порожній проект", ви побачите, що вікно створено для вас у делеґаті програми. Звідти ви можете додати XIB файли як звичайні, або нову розкадровку.

Я припускаю, що ви маєте на увазі "раскадровки", а не "шкала". Дошки оголошень дозволяють візуально відображати всі перегляди ваших програм та спосіб взаємозв'язку. Якщо ви тільки починаєте з розповідей, у відеозаписах WWDC 2011 тут знайдено ознайомлення . Курс iOS для Stanford 2011 на iTunes-U також специфічний для iOS 5 та охоплює розповіді та інші.


15

Роздільна дошка - це як полотно, куди ви поміщаєте всі свої файли .xib. У вас більше немає .xibs, у вас просто є контролери перегляду безпосередньо на своєму полотні.


2
Можливо, найкорисніша відповідь.
Муніб

9

розповідь - це нова функція, доступна з моменту випуску Xcode 4.2. Він пропонує абсолютно новий спосіб для розробника iOS створити та створити інтерфейс користувача. До впровадження Storyboard новачок особливо важко створити навігаційний (та вкладковий) інтерфейс. Кожен інтерфейс зберігається в окремому файлі xib. Зверху ви повинні написати код, щоб з'єднати всі інтерфейси разом і описати, як працює навігація.

За допомогою розкадрувань всі екрани зберігаються в одному файлі. Це дає вам концептуальний огляд візуального подання для програми та показує, як підключаються екрани. Xcode забезпечує вбудований редактор для компонування дощок. Ви можете визначити перехід (відомий як segues) між різними екранами, просто скориставшись точкою та клацанням. Це не означає, що вам не потрібно писати код для інтерфейсу користувача. Але Дошка розказок значно зменшує кількість коду, який потрібно написати.

Джерело: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/


2

XIB:

1) Файли Xib використовуються з одним UIView.

2) Реалізувати складні автоматичні макети в xib дуже важко.

3) Він використовує більше пам’яті в порівнянні з табло та тихо повільно.

4) Він сумісний з iOS5 і далі

5) Ви можете робити локалізації для різних мов та країн, використовуючи різні XIB.

6) Використовувати один і той же Xib важко для підтримки декількох пристроїв.

Дошка розкадрувань

1) Ви можете розташувати всі свої сцени, як контролери перегляду, Nav-контролери, контролери TabBar тощо, на одній дошці розкадровки.

2) Ви можете легко використовувати автоматичний макет, який визначає математичні зв’язки між елементами, що визначають їх положення та розміри.

3) Зазвичай швидко і виділяє менше пам'яті.

4) Він не сумісний до iOS 5.

5) "Динамічні" та "Прототипові" комірки можна легко використовувати.

6) Дошки з розгортанням найкраще використовувати для додатків із невеликою та середньою кількістю екранів.

Найкраща відповідь, яку я бачив: Xib Vs Storyboard в iOS


0

XIB та Storyboard використовуються для створення інтерфейсів для користувачів.

Важливим моментом є те, що xibs використовується для створення єдиного перегляду (у нього є один власник файлу у верхній частині файлу xib), але у випадку для viewcontroller можна додавати кілька екранів, а його потік також можна контролювати (він має окремі власники файлів).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.