xibless е Python библиотека, която генерира Objective-C код, който се основава Cocoa УИС & Nbsp;. Целта на тази библиотека е да замени XIBs в XCode и, ако желаете, да се отървете от XCode напълно.
С xibless, вместо проектиране УИС с редактор WYSIWYG, можете да ги изгради в Python скрипт, подобно на това, което правиш, когато изграждането Qt УИС без дизайнера. Например, по сценарий, подобен на този:
резултат = Window (200, 200, 330, 110, "Кажи ми името си!")
nameLabel = Label (резултат, текст = "Име:")
nameField = TextField (резултат, текст = "")
helloLabel = Label (резултат, текст = "")
Бутон = Button (резултат, заглавие = "Кажи здравей")
nameLabel.width = 45
nameLabel.packToCorner (Pack.UpperLeft)
nameField.packRelativeTo (nameLabel, Pack.Right, Pack.Middle)
nameField.fill (Pack.Right)
helloLabel.packRelativeTo (nameLabel, Pack.Below, Pack.Left)
helloLabel.fill (Pack.Right)
button.packRelativeTo (helloLabel, Pack.Below, Pack.Right)
nameField.setAnchor (Pack.UpperLeft, growX = True)
helloLabel.setAnchor (Pack.UpperLeft, growX = True)
button.setAnchor (Pack.UpperRight)
ще генерира Objective-C код, който построи форма с поле име, етикет, текст и бутон. Във втората част на сценария поставя джунджурии от формата по подходящ начин.
Въпреки xibless е написан на Python, код на Objective-C генерира не зависимостта Python, така този инструмент е подходящ за всеки Cocoa разработчик.
xibless работи на Python 2.7 и нагоре. Това означава, че ако сте на OS X 10.7 или по-нова, можете да използвате вградената в Python. В противен случай, ще трябва да инсталирате по-нова версия на Python.
<Силен> Защо xibless? Силен>
За много хора XCode и своя интегриран интерфейс строител работи добре и да бъдат справедливи, XCode е хубав инструмент. Въпреки това, той има недостатъци, най-вече просто досада, но все пак, след известно време, неприятности станат ... досадно. Например, когато един XIB UI достигне определено ниво на сложност, никога не се знае, когато се прави дребни подобрения, ако по погрешка сте побъркани нещо друго. Защото всяка промяна, обаче малка е, променя голяма част от досието XIB, вие не можете да кажете в разл ако изменението сте направили е изключително онова, което исках да направя. Има също така и XIB локализация, с една-XIB-копие-на-локализация, която е по-малко от оптималното, но трудно да се работи наоколо. Както и да е, аз няма да се опитам да ви убедя. Ако не го направите, вече искат да се отърват от XCode и / или XIBs, най-вероятно нямате нужда от xibless.
<Силен> Монтаж
Можете да инсталирате xibless чрез семка:
PIP инсталирате xibless
или като изтеглите пакета с изходния код и работи:
питон setup.py инсталиране
За изграждането на демоса в папката демонстрации, CD в нея и вид:
./waf Configure
./waf
Получената Приложението ще бъде в папката строителство.
<Силен> Usage
xibless може да се използва или от командния ред или чрез Python. За да го използвате от командния ред, изпишете:
xibless <източник> <ЦЕЛ>
източник е пътят на Python модула, който пише, че описва потребителския интерфейс, който искате да се изгради. ЦЕЛ е пътя, който искате вашия резултат Objective-C файл, за да бъде написана в. За да използвате xibless директно от Python, че използването им е сходна:
внос xibless
xibless.generate (източник, вода)
Сега, всичко това се е, че тя генерира UI код. xibless все още не е, всеки интегрирано решение за да можете лесно изграждане на XCode-малко програмата. Въпреки това, какво можете да направите, е да погледнете демоса папка и да основат сами по тези демонстрации (които са напълно XCode-малко), за да се изгради свой собствен проект.
<Силен> Ранното развитие
xibless е в много ранен развитие и няма API документация, все още. За сега, вие ще трябва да разбера, че API от демотата и чрез изкопаване директно в източника. Също така, имайте предвид, че това може да API бясно се промени преди v1.0.
Също така броят на остри ръбове в момента са неизчислими. Има съобщения за грешки, за невалидни UI скриптове, така че може да бъде много трудно, за сега, за да разбера защо си скриптове не работят.
О, да, и изтичане на памет, има тон на тях
Какво ново в тази версия:.
- Добавено VHLayout.
- Добавено Box.
- В View, добави делегат, fixedHeight, fixedWidth и accessibilityDescription атрибути, както и moveTo () (по-мощна версия на packToCorner ()) и fillAll () методи.
- в сегмента, добавя изображение и accessibilityDescription атрибути.
- Добавено SplitView.dividerStyle и добавя документация за директна сплит йерархия гледка.
- Добавено TableView.borderType и View.focusRingType.
- Добавено Button.bordered
- Добавено MenuItem.state
- Добавено TabView.tabViewType.
- Добавено TextField.usesSingleLineMode.
- добавена граница и приведе аргументи за оформления.
- Отхвърлена View.packToCorner ().
- Layouts вече могат да съдържат sublayouts.
- Оставя цвят () за получаване на стойности в обхвата от 0-255 в допълнение към 0,0-1,0.
- Не локализират низове, съдържащи само и quot; - & quot; (Те се използват, за да показват, т меню сепаратор).
- височина RadioButtons "Сега зависи от броя на редовете, които има.
- Фиксирана пълнител преоразмеряване в оформления в случаите, когато има други възгледи следващите да пълнителя.
- Позволи UI скриптове да внасят единици, които са от една и съща папка.
- Заменен Button.keyEquivalent с Button.shortcut.
- Фиксирана runtemplate така че XiblessSupport блок е съставен в RunUI изпълнимия файл.
- Фиксирана бъг, където ние понякога ще се окажете с две генерирани позиция със същия varname.
- Винаги growX / growY да False в setAnchor () за мнения, които имат фиксирана ширина / височина.
- The & quot; текст & quot; аргумент на конструктора TextField е сега по избор.
- В помощ на страни и Близкия в View.setAnchor ().
- генерирани единици вече имат своя коментар показва времето за възпроизводство и xibless версия.
- Преместен TextField.alignment до Control
- Само копирате XiblessSupport единица, когато тя се промени, като по този начин се избягва ненужно прекомпилиране.
- Фиксирано разполагане делти TabView за случаите, когато няма по раздели.
- В помощ на преки пътища, включващи "+" характер.
- Подобрени маржове по подразбиране в оформления, височини контрол и всички други малки ощипвам от този вид.
Какво ново във версия 0.4.1:
- Добавено NLSTR да UI скриптове именно пространство
- Не навивайте Window.autosaveName в локализирането разговори.
- Фиксирана бъг причинява някои струни не да бъдат опаковани в локализирането разговори.
- Set RadioButton на & quot; autosizesCells & quot; да True при сътворението.
Какво ново във версия 0.4.0:
- Добавено Panel, SplitView, OutlineView, ListView, Toolbar , SegmentedControl, SearchField, Slider и NumberFormatter.
- Добавено Layouts.
- Добавена е поддръжка за много, много, много нови атрибути, константи и типове.
- Сега генерира & quot; .h & quot; да отиде заедно с генерирания единица.
- Добавено Property и неговите подкласове, по-лесен начин да добавите поддръжка за нови атрибути, дори и най-сложните.
- Вече е възможно да се преодолеят маржове в метод оформление разговори.
- Добавена е поддръжка за свързване с новата View.bind () метод.
- Добавена глобалната променлива нови настройки по подразбиране, която може да се използва, за да се свърже с потребителски настройки.
- Константи достъпни с Конст вече могат да бъдат побитовите OR-ед.
- генерирания код е вече форматиран да изглежда малко по-добре и по-лесно отстраняване на грешки.
- добавени нови константи за клавишните комбинации в менюто за специални клавиши (стрелки, влизат и др.).
- Добавена е поддръжка за UI скрипт аргументи.
Какво ново във версия 0.3.1:
- натиснат надолу атрибута действия от Button да се контролира.
- RadioButtons сега е подклас Control.
- Създадено прозорец преизчисли своята гледна линия, след като генерира своите деца.
Какво ново във версия 0.3.0:
- Добавени RadioButtons, TableView, TabView, TextView, ImageView и ProgressIndicator.
- Добавена е поддръжка за струнен локализация.
- Добавено TextField.alignment и TextField.textColor.
- Добавено Button.keyEquivalent.
- Добавено canClose, canResize и canMinimize да Window.
- Добавена Control подклас.
- View вече могат да бъдат директно инстанция в потребителския интерфейс скриптове (Те са като & quot; персонализирани изгледи & quot; в IB).
- xibless тече вече може да се изпълнява на скрипт, за които резултатът е View.
- Подобрена система за оформление.
- Window произход вече се доставя от гледна точка на екрана пропорции, а не абсолютни позиции.
- Фикс "ID" ownerclass в основното производство функция прототип и добавя & quot; ownerimport & quot; глобална променлива в сценария на UI.
- Escape нови редове в поколение низ код.
- Добавена документация за Button.buttonType и Button.bezelStyle и добави демо за бутон с различен стил панел.
- Фиксирани най-грозните пролуките в паметта.
- Фиксирана бъг, където атрибути като клас ниво подразбиране шрифтове не би да се генерират, когато се генерира повече от един UI скрипт в същото питон сесия.
- Windows не бъдат освободени, когато са затворени по подразбиране.
- Добавена е поддръжка за циклични референции (прозорец определяне на една от неговите свойства до статия, която се изисква, че прозореца, преди да бъде създадена, например, initialFirstResponder). Ние преди това не би могло да генерира код за такива автомати.
- тезата на привеждането в съответствие на View.packRelativeTo (опция).
Какво ново във версия 0.2.0:
- Добавено Сфинкс документация
- Добавена командата xibless кандидатира за бързи визуализации UI.
- Добавено ComboBox и Popup.
<силни> Изисквания :
- Python
Коментари не е намерена