2013-06-26 38 views
0

這是針對在iPhone模擬器上運行的移動應用程序,使用SDK v 3.0.2 GA和Alloy框架。當兩個TableView處於相同視圖時,Titanium TableView消失

我有一個窗口,在桌面視圖頂部有一個自動完成搜索欄的tableview。當自動完成功能開始啓動時,它會在搜索框下方顯示結果的表格視圖,以便用戶從結果中進行選擇。

這一切都正常工作,但在搜索視圖中包括TableView導致原始窗口上的TableView消失。

的代碼如下:

myPlaces.xml

<Alloy> 
    <Window id="myDrawersWin"> 
    <RightNavButton> 
     <Button id="showMyDrawers" title="Show Drawers" /> 
    </RightNavButton> 
    <Require src="findPlace" id="findPlace"/> 
    <TableView id="placeListTable"/> 
    </Window> 
</Alloy> 

findPlace.xml

<Alloy> 
    <View id="searchContainer"> 
    <TextField id="searchInput" hintText="Find a place..." /> 
    </View> 
    <TableView id="searchResultsTable"/> 
</Alloy> 

findPlace.js

$.searchInput.addEventListener("change", function(){ 
    if ($.searchInput.value.length > 2 && $.searchInput.value != "Find a place...") { 

    // do the search and get a response successfully 

      _.each(returnedVenues, function(venue){ 
       tblData.push(Alloy.createController("venueSearchListItem", venue).getView()); 
      }); 

      $.searchResultsTable.setData(tblData); 

      $.searchResultsTable.visible = true; 

     }, 
     onerror: function(e){ 
      console.log("error"); 
      console.log(e); 
     } 
    }); 

    // invoke the HTTP client here 

    } 
    else { 
     $.searchResultsTable.visible = false; 
    } 
}); 

findPlace.xml

"#searchContainer":{ 
    width: "100%", 
    height: 50, 
    backgroundColor: "#B8D0DB", 
    top: 0 
} 


"#searchInput":{ 
    width: "80%", 
    height: 30, 
    backgroundColor: "#FFFFFF" 
} 

"#searchResultsTable":{ 
    width: "80%", 
    visible: false 
} 

如果我拿出的TableView在findPlace.xml,原來TableView中的窗口(placeListTable)顯示了罰款。如果我加回來,它會消失。另外,如果我移動<View id="searchContainer">內部的TableView,將顯示(但顯然,由於searchContainer上的高度限制,不適合)。

任何想法?這是一個錯誤,還是我在這裏做一些愚蠢的事情?

感謝您的任何幫助。

賈斯汀

回答

1

找到了解決這個問題,因爲我懷疑,這是愚蠢。

問題是我在窗口樣式表上設置了layout:vertical,這意味着第二個TableView顯示在另一個下面。刪除解決了這個問題。

相關問題