2012-01-06 3 views
4

У меня есть .xib файл. Я открываю его с помощью текстового файла или Dashcode или что-то еще.Как изменить файл .xib за пределами xcode?

Скажем, что на нем есть 4 кнопки. Все равно, но с разными названиями.

Моя цель - автоматически изменить цвет, шрифт и фоновое изображение вне xcode, а затем импортировать файл в xcode.

Однако эти вещи представлены ссылочным номером, который, как мне кажется, не может найти никакого места в папке моего проекта, соединяющего его с фактическим изображением, цветом или шрифтом.

<reference key="IBUINormalBackgroundImage" ref="650551563"/> <!-- Button Background --> 

Так кнопка выглядит так

`<!-- Button 1 --> 
<object class="IBUIButton" id="580622739"> 
<reference key="NSNextResponder" ref="191373211"/> 
<int key="NSvFlags">292</int> 
<string key="NSFrame">{{20, 124}, {280, 37}}</string> 
<reference key="NSSuperview" ref="191373211"/> 
<reference key="NSWindow"/> 
<reference key="NSNextKeyView" ref="810145050"/> 
<bool key="IBUIOpaque">NO</bool> 
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
<int key="IBUIContentHorizontalAlignment">0</int> 
<int key="IBUIContentVerticalAlignment">0</int> 
<reference key="IBUIFont" ref="881065587"/>   <!-- Button Font Type --> 
<int key="IBUIButtonType">1</int> 
<string key="IBUINormalTitle">Facebook</string>  <!-- Button Name --> 
<reference key="IBUIHighlightedTitleColor" ref="587412318"/> 
<reference key="IBUINormalTitleColor" ref="523599070"/>  <!-- Button Font Color --> 
<reference key="IBUINormalTitleShadowColor" ref="457053782"/> 
<reference key="IBUINormalBackgroundImage" ref="650551563"/> <!-- Button Background --> 
</object> 

`

EDIT: На основании некоторых ответов. Теперь я могу перетащить xib в xcode. Но когда я делаю новое приложение, я хочу использовать существующий xib, но с разными цветами. Я буду использовать php для автоматического создания этого файла кода. Затем просто перетащите назад. Я сделал это для всех моих .h и .m и viewcontrollers. Мне нужно понять это .xibs.

+9

Я не думаю, что это хорошая идея для редактирования файлов '.xib' без XCode Interface Builder. Если вы не хотите использовать XCode для создания своих представлений, просто делайте это программно без '.xib'. – Kjuly

+0

Ohhhh. Хммм, я ленив, просто не шучу. На самом деле я все еще новичок в xcode и ios. Поэтому мне придется научиться создавать его программно. Я получу свой google-fu. Но я подумал, посмотрев на файл с текстовым редактором, я бы посмотрел на программную часть кода. Таким образом, его можно модифицировать. Как я делаю для android и Blackberry. – Rick

+3

На самом деле, я думаю, что изучение того, как его создать программно, намного проще, чем научиться изменять существующий файл. Поскольку «.xib» - это только файл данных представления, который в формате XML не содержит комментариев, и, более того, любая опечатка приведет к сбою приложения без какой-либо информации об отладке. Кстати, добро пожаловать в мир iOS! : p – Kjuly

ответ

3

The XIb файлы содержат XML, генерируемый IB в XCode , Если вы отредактируете этот XML, нет гарантии, что ваши изменения не будут уничтожены IB в следующий раз, когда он напишет файл.

Но если вы правильно поняли, вы пытаетесь заглянуть в содержимое xib, чтобы лучше понять, как создавать программный интерфейс. Программно сгенерированные пользовательские интерфейсы: , а не, выполненные путем написания xib-файлов. Вы можете получить подсказку о том, какие параметры могут быть настроены в IB, но в xib есть много контента, который отвлекает, если это то, что вы пытаетесь сделать.

+0

«Программно сгенерированные пользовательские интерфейсы выполняются путем написания xib-файлов». Похоже, вы ошиблись.Надеюсь, вы не утверждаете, что интерфейс, который генерируется в коде, генерирует xib-файл во время выполнения. – Nick

+1

К сожалению. Отсутствует критическое слово «НЕ». Я это исправлю. – Jim

1

Ранее в Xcode 3.2 и ранее было Interface Builder приложение, которое функционировало вне Xcode ... но теперь это часть Xcode. Вы можете google для Interface Builder теперь тоже ... Но я думаю, что яблоко не позволит вам иметь Interface Builder отдельно ....

общая ссылка: http://guides.macrumors.com/Interface_Builder

0

Я работаю над декодером xib, написанным на C#, и даже если на данный момент невозможно редактировать файл xib, его можно отобразить и посмотреть, как он выглядит. Анализатор xib является открытым исходным кодом и является переводом реализации Cocoa с открытым исходным кодом под названием GNUstep. Parser доступен здесь: https://github.com/smartmobili/CocoaBuilder.