Получение свойств метки Titanium Mobile внутри функции - PullRequest
0 голосов
/ 02 апреля 2012

Проблема: Как определить, какая из меток отображается в окне.

Я создал метки, используя Ti.UI.createLabel, и их 6 в окне.Вот как я их инициализирую:

var sitCom = Ti.UI.createlabel({
    text: 'Door',
    top: 10,
    left: 5,
    visible: false
});

У меня те же свойства для других переменных, единственное отличие - свойство text.

Эти метки скрыты и отображаются только по запросу, когда кнопка нажата.Я использовал setVisible: true, чтобы отобразить их.Это работает нормально.

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

function whatIsVisible(){
   var newArr = new Array();
   var newArr[0] = 'sitCom';
   var newArr[1] = 'dutyFree';
   var newArr[2] = 'Exclusive';
   // ...

   var i = 0;
   for (i=0; i<=6; i++) {
     var v = newArr[i].getVisible();
     Ti.UI.info(newArr[i]+ ' is '+v);
   }
}

Функция показывает undefined в логе консоли.

Что мне здесь не хватает?Нужно ли помещать оператор if внутри цикла for для проверки каждого массива?

спасибо за помощь

1 Ответ

0 голосов
/ 02 апреля 2012

Это происходит потому, что у вас нет объектов метки в цикле for. Удалите '' из переменных и просто передайте имя переменной.

...