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

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


person gsach    schedule 08.12.2011    source источник
comment
Я понятия не имею, что такое временная шкала, и подозреваю, что она не имеет ничего общего с временной шкалой Facebook, на которую ссылается тег.   -  person iandotkelly    schedule 08.12.2011
comment
это два совершенно разных вопроса, Джордж? Кроме того, когда вы говорите .timeline, вы имеете в виду версии сохраненный файл?   -  person Michael Dautermann    schedule 08.12.2011
comment
У вас было два отдельных вопроса, поэтому я сократил его до одного. Первый вопрос здесь задавали несколько раз, например, в Не удается найти окно на основе XCode, поэтому я удалил эту часть, чтобы сосредоточиться на вопросе о раскадровке.   -  person Brad Larson    schedule 09.12.2011
comment
См. Также аналогичный вопрос: Когда использовать раскадровку, а когда использовать XIB. Имеет отличные подробные ответы, включая обновления для iOS 8 и Xcode 6.   -  person Basil Bourque    schedule 07.11.2014


Ответы (6)


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

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

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

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

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

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

person Sagar Hatekar    schedule 08.12.2011
comment
Так заменяет ли раскадровка необходимость в файлах .xib? - person William Sham; 13.12.2011
comment
В идеале да. 1.storyboard file = 'n' no. файлов .xib. - person Sagar Hatekar; 13.12.2011
comment
А как насчет переходов между представлениями? Я знаю, что есть переходы, но есть только несколько разных стилей переходов. Я предполагаю, что вы все еще можете переходить между представлениями так же, как и раньше, но если вы не используете переход, это будет выглядеть странно в раскадровке, верно? Что ты думаешь по этому поводу? - person dontangg; 15.06.2012
comment
В этом случае, я полагаю, в игру вступят NavigationControllers? - person Sagar Hatekar; 15.06.2012
comment
Интересный факт: я использую этот пост, чтобы продемонстрировать свой (ограниченный) кредит на iOS: D - person Sagar Hatekar; 07.05.2019

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

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

person Nathanial Woolls    schedule 08.12.2011

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

person robertfiorentino    schedule 03.11.2012
comment
Возможно, самый полезный ответ. - person Munib; 21.11.2016

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

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

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

person mustafa    schedule 11.10.2014

XIB:

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

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

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

4) Он совместим с iOS5 и новее.

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

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

Раскадровка

1) Вы можете расположить все свои сцены, такие как контроллеры представления, контроллеры навигации, контроллеры панели вкладок и т. Д., В одной раскадровке.

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

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

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

5) Простота использования "динамических" и "прототипных" ячеек.

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

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

person Jitendra Gochhayat    schedule 30.11.2017

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

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

person No_name_untilRecognised    schedule 01.03.2018