Подтвердить что ты не робот

Извлечение nibs/xibs из раскадровки (iOS)

Я создал простой проект с раскадрой, и теперь понимаю, что они не поддерживают iOS 4.x и что я хочу, чтобы пользователи с этими устройствами могли загружать мое приложение. Приложение является просто диспетчером с обратным отображением и довольно просто, но если есть способ просто извлечь XIB из раскадровки, я бы предпочел сделать это, чем создать его.

tl; dr: получение .xibs из .storyboard?

4b9b3361

Ответ 1

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

Однако для тех, кто это делает, обратите внимание, что вам нужно сделать xib для MainWindow в дополнение ко всем другим вашим XIB и соответствующим образом подключить его, включая настройку окна и приложения делегировать. Storyboards обрабатывают все это для вас, поэтому, когда вы пытаетесь избежать их, у вас много ручной настройки, что создает для вас проекты без раскадровки из ручек get-go. Не делайте то, что я сделал, и постарайтесь сделать ваш корневой контроллер вашим основным контроллером представления, потому что он будет гаснуть, говоря о том, как UIApplication не соответствует ключевому значению для отдельных свойств вашего XIB.

Ответ 2

Файлы Xib не могут быть извлечены из раскадровки, но вы можете создать экземпляр UIViewControllers из раскадровки, создав экземпляр своего раскадровки в объект UIStoryboard и получив UIViewController через его идентификатор, вот как я это делаю:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                            @"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];

    UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"myId"];

надеюсь, что это поможет.

Ответ 3

Как было предложено несколькими другими, лучше всего клонировать представления из раскадровки в XIB.

enter image description here

Ответ 4

Невозможно получить xib файлы. Ваша раскадровка скомпилирована для файлов nib и упакована в файл storyboardc в вашем комплекте приложений.

Чтобы найти файлы nib, выберите свой встроенный исполняемый файл в Finder и щелкните правой кнопкой мыши "Показать содержимое пакета". Перейдите в каталог en.lproj и найдите файл storyboard.storyboardc. Щелкните правой кнопкой мыши "Показать содержимое пакета" еще раз в файле раскадровки, и вы найдете свои перья. Они не будут очень полезны для вас, потому что они скомпилированы двоичные наконечники.

Ответ 5

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