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



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

795   6  

6 ответов:

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

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

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

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

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

вы могли бы сослаться на это учебник начать.

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

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

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

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

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

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

XIB:

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

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

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

4) совместим с iOS5 и выше

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

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

раскадровка

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

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

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

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

5)"динамические" и Клетки "прототипа" можно использовать легко.

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

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

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

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

Comments

    Ничего не найдено.