Может кто-нибудь объяснить простыми словами разницу между .xib и .storyboard?
.timeline
, вы говорите о версиях сохраненного файла ?
Может кто-нибудь объяснить простыми словами разницу между .xib и .storyboard?
.timeline
, вы говорите о версиях сохраненного файла ?
Ответы:
Apple представила "storyboarding"
в iOS5 SDK концепцию, упрощающую и улучшающую управление экранами в вашем приложении. Вы все еще можете использовать .xib
способ развития.
Предварительная раскадровка, у каждого UIViewController
была связанная .xib
с этим. Storyboard
достигает двух вещей:
.storyboard
по сути один файл для всех ваших экранов в приложении, и он показывает поток экранов. segues
Таким способом вы можете добавлять / переходить между экранами. Таким образом, это сводит к минимуму стандартный код, необходимый для управления несколькими экранами.
Минимизирует общее количество файлов в приложении.
Вы можете избежать использования Storyboard
при создании нового проекта, оставив флажок «Использовать раскадровку» не отмеченным.
Вы можете обратиться к этому руководству, чтобы начать.
Да, вы все равно можете создать приложение на базе Windows для iOS 5. Если вы используете шаблон «пустой проект», вы увидите, что окно создано для вас в делегате приложения. Оттуда вы можете добавить файлы XIB как обычно или новую раскадровку.
Я предполагаю, что вы имеете в виду «раскадровки», а не «сроки». Раскадровки позволяют визуально наметить все представления в ваших приложениях и их взаимосвязь. Если вы только начинаете с раскадровки, есть введение в раскадровки в WWDC 2011 видео здесь . 2011 Stanford IOS курс на ITunes-U также IOS 5-специфичны и чехлов раскадровки и многое другое.
Раскадровка похожа на холст, куда вы помещаете все свои файлы .xib. У вас больше нет .xibs, у вас есть только View Controllers прямо на вашем холсте.
Раскадровка - это новая функция, доступная с момента выпуска Xcode 4.2. Он предлагает разработчикам iOS совершенно новый способ создания и разработки пользовательского интерфейса. До появления Storyboard новичку особенно сложно создать интерфейс навигации (и вкладки). Каждый интерфейс хранится в отдельном xib-файле. Кроме того, вы должны написать код, чтобы связать все интерфейсы вместе и описать, как работает навигация.
С раскадровками все экраны хранятся в одном файле. Это дает вам концептуальный обзор визуального представления для приложения и показывает, как соединены экраны. Xcode предоставляет встроенный редактор для разметки раскадровки. Вы можете определить переход (известный как сегменты) между различными экранами, просто используя указатель и щелчок. Это не значит, что вам не нужно писать код для пользовательского интерфейса. Но раскадровки значительно уменьшают объем кода, который вам нужно написать.
Источник: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/
XIB:
1) Xib-файлы используются с одним UIView.
2) Очень сложно реализовать сложные авто-макеты в XIB.
3) Он использует больше памяти по сравнению с раскадровкой и тихо медленно.
4) Совместимо с iOS5 и выше
5) Вы можете делать локализации для разных языков и стран, используя разные XIB.
6) Трудно использовать один и тот же Xib для поддержки нескольких устройств.
Раскадровка
1) Вы можете расположить все свои сцены, такие как контроллеры представления, контроллеры Nav, контроллеры TabBar и т. Д., В одной раскадровке.
2) Вы можете легко использовать Auto Layout, который определяет математические отношения между элементами, определяя их положение и размеры.
3) Обычно быстро и выделяет меньше памяти.
4) Это не совместимо до iOS 5.
5) Ячейки «Динамический» и «Прототип» могут быть легко использованы.
6) Раскадровки лучше всего использовать для приложений с небольшим или средним количеством экранов.
Лучший ответ, который я видел: Xib Vs Storyboard в iOS
XIB и Storyboard используются для создания интерфейсов для пользователей.
Одним из важных моментов является то, что xibs используются для создания одного представления (у него один владелец файла в верхней части файла xib), но в случае viewcontroller можно добавить несколько экранов и отслеживать его поток (он имеет владельцы отдельных файлов).