В чем разница между файлом .xib и .storyboard?

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

Ответ 1

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

Пред-раскадровка, каждая UIViewController имела с ней .xib. Storyboard достигается две вещи:

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

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

Вы можете избежать использования Storyboard при создании нового проекта, оставив опцию "Использовать раскадровку" непроверенной.

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

XIB:

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

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

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

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

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

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

Раскадровка

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

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

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

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

5) "Динамические" и "Prototype" ячейки могут быть легко использованы.

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

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