В чем разница между .xib-файлом и .storyboard? - PullRequest
153 голосов
/ 08 декабря 2011

Может кто-нибудь объяснить простыми словами разницу между .xib и .storyboard?

Ответы [ 6 ]

110 голосов
/ 08 декабря 2011

Apple представила концепцию "storyboarding" в iOS5 SDK, чтобы упростить и лучше управлять экранами в вашем приложении. Вы все еще можете использовать .xib способ разработки.

Предварительная раскадровка, с каждым UIViewController была связана .xib. Storyboard достигает двух вещей:

  1. .storyboard - это, по сути, один файл для всех ваших экранов в приложении, который показывает последовательность экранов. Таким образом, вы можете добавить segues / переходы между экранами. Таким образом, это сводит к минимуму стандартный код, необходимый для управления несколькими экранами.

  2. Минимизирует общее количество файлов в приложении.

Вы можете избежать использования Storyboard при создании нового проекта, оставив флажок «Использовать раскадровку» не отмеченным.

Вы можете обратиться к этому учебнику , чтобы начать.

22 голосов
/ 08 декабря 2011

Да, вы все равно можете создать приложение на базе Windows для iOS 5. Если вы используете шаблон «пустой проект», вы увидите, что окно создано для вас в делегате приложения.Оттуда вы можете добавить файлы XIB как обычно или новую раскадровку.

Я предполагаю, что вы подразумеваете "раскадровки", а не "временную шкалу".Раскадровки позволяют визуально отобразить все представления в ваших приложениях и их взаимосвязь.Если вы только начинаете с раскадровок, в видео WWDC 2011 вы найдете введение в раскадровки здесь . 2011 Стэнфордский курс iOS для iTunes-U также предназначен для iOS 5 и охватывает раскадровки и многое другое.

13 голосов
/ 04 ноября 2012

Раскадровка похожа на холст, куда вы помещаете все свои файлы .xib. У вас больше нет .xibs, у вас просто есть View Controllers прямо на вашем холсте.

9 голосов
/ 11 октября 2014

раскадровка - это новая функция, доступная с момента выпуска Xcode 4.2.Он предлагает разработчикам iOS совершенно новый способ создания и разработки пользовательского интерфейса.До появления Storyboard новичку особенно сложно создать интерфейс навигации (и вкладки).Каждый интерфейс хранится в отдельном xib-файле.Кроме того, вы должны написать код, чтобы связать все интерфейсы и описать, как работает навигация.

В раскадровках все экраны хранятся в одном файле.Это дает вам концептуальный обзор визуального представления для приложения и показывает, как соединены экраны.Xcode предоставляет встроенный редактор для разметки раскадровок.Вы можете определить переход (известный как сегменты) между различными экранами, просто используя указатель и щелчок.Это не значит, что вам не нужно писать код для пользовательского интерфейса.Но раскадровки значительно сокращают объем кода, который вам нужно написать.

Источник: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

2 голосов
/ 30 ноября 2017

XIB:

1) Xib-файлы используются с одним UIView.

2) Очень сложно реализовать сложные автоматические макеты в xib.

3) Он использует больше памяти по сравнению с раскадровкой и тихо медленно.

4) Совместимо с iOS5 и далее

5) Вы можете делать локализации для разных языков и стран, используя разные XIB.

6) Трудно использовать одну и ту же Xib для поддержки нескольких устройств.

Раскадровка

1) Вы можете расположить все свои Сцены, такие как View Controllers, Nav Controllers, TabBar Controllers и т. Д. В одной раскадровке.

2) Вы можете легко использовать Auto Layout, который определяет математические отношения между элементами, определяя их положение и размеры.

3) Обычно быстро и выделяет меньше памяти.

4) Это не совместимо до iOS 5.

5) Ячейки «Динамический» и «Прототип» можно легко использовать.

6) Раскадровки лучше всего использовать для приложений с небольшим или средним количеством экранов.

Лучший ответ, который я видел: Xib против раскадровки в iOS

0 голосов
/ 01 марта 2018

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

Важным моментом является то, что xibs используются для создания одного представления (у него один владелец файла в верхней части файла xib), но в-case для viewcontroller, несколько экранов могут быть добавлены, и его поток также может контролироваться (у него есть отдельные владельцы файлов).

...