0

Я создавал форму в своем приложении, и она имеет валидацию. Когда поле найдено недействительным, я показываю красный предупреждающий знак в поле (это всего лишь метка).Titanium - что лучше всего подходит для создания и добавления объекта пользовательского интерфейса на лету в Alloy

Поскольку у меня есть много полей, я создал функцию, которая получает объект textfield, делает Ti.UI.createLabel с моим стилем, а сверху и слева позиционируется полученным объектом и добавляет его на страницу.

Хотя это прекрасно работает, я должен думать, что это может быть не «правильный» способ использования сплава. Поэтому мне было интересно, должен ли я создать вид сплайма (никакого контроллера не нужно, так как нет логики), и этот вид будет иметь метку (только ярлык!) И файл tss с фиксированным стилем, а затем получить представление «Сплав» путь "и добавить его на страницу?

Какова наилучшая практика в таком сценарии? Я также думаю, что сплав добавляет его собственный код контроллера и внутри создания ярлыка, как я делаю сейчас, - поэтому он добавляет дополнительные действия для выполнения js-движка? производительность и потребление памяти - это, конечно, моя главная проблема.

ответ

1

Я считаю, что использование сплайна лучше для поддержания кода. Позже, если вы хотите изменить свой ярлык, вам просто нужно отредактировать свой TSS. С точки зрения производительности, я не удивлен, есть большая разница (это всего лишь метка), и XML-представление преобразуется в Ti.UI.create наконец.

Если у вас нет JS логики для реализации, вы можете использовать $ .UI.create метод, чтобы применить класс TSS к элементу: http://docs.appcelerator.com/platform/latest/#!/api/Alloy.Controller.UI-method-create

var label = $.UI.create("Label", { 
    classes: 'yourstyle', 
    top : 30 //add other property like this 
}); 
$.index.add(label);