2012-04-02 21 views
0

問題:如何確定哪些標籤正在窗口中顯示。獲取函數中的Titanium Mobile標籤屬性

我使用Ti.UI.createLabel創建了標籤,其中有6個在窗口中。這是我如何初始化它們:

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

我對其他變量具有相同的屬性,唯一的區別是文本屬性。

這些標籤是隱藏的,只有在按下按鈕時纔會按需顯示。我用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

我在這裏錯過了什麼?我是否必須在for循環中放入if語句來檢查每個數組?

感謝您的幫助

+0

發生這種情況是因爲您在for循環中沒有標籤對象。從變量中刪除'',並傳遞var名稱。 – 2012-04-02 09:44:31

+0

你是對的。感謝幫助。 – 2012-04-02 10:39:59

回答

0

這是因爲您沒有for循環中的標籤對象。從變量中刪除'',並傳遞var名稱。