Извлечение nibs/xibs из раскадровки (iOS)
Я создал простой проект с раскадрой, и теперь понимаю, что они не поддерживают iOS 4.x и что я хочу, чтобы пользователи с этими устройствами могли загружать мое приложение. Приложение является просто диспетчером с обратным отображением и довольно просто, но если есть способ просто извлечь XIB из раскадровки, я бы предпочел сделать это, чем создать его.
tl; dr: получение .xibs из .storyboard?
Ответы
Ответ 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 к раскадровке) без проблем.