2014-12-04 1 views
0

좋아, 이것은 (아마도 그렇다) 뭔가를 간과하지 않는 한 간단하다.티타늄에 <TableViewRow>가 보이지 않는다.

내가 아주 간단한 예를 만들었습니다

:

이 Index.xml

<Alloy> 
    <Window> 
     <TableView> 
      <TableViewSection> 
       <TableViewRow> 
        <Label>Row 1</Label> 
       </TableViewRow> 
       <TableViewRow visible="false"> 
        <Label>Row 2</Label> 
       </TableViewRow> 
       <TableViewRow id="row3"> 
        <Label>Row 3</Label> 
       </TableViewRow> 
      </TableViewSection> 
     </TableView> 
    </Window> 
</Alloy> 

을 ... 그리고 index.tss : 그 2 행과 행 기대했을 것이다

"#row3":{visible:false} 

"Window": { 
    top: 60 
} 

3은 표시되지 않았습니다. 그러나 모든 행이 표시됩니다 (iOS 시뮬레이터에서).

나는 이전 버전의 Titanium Studio에서 비슷한 문제에 관해 읽었습니다. 이 2-4 세 게시물의 해결 방법은 tableviewrow의 높이를 1로 설정하는 것입니다 (0은 무시 됨). 그러나 이것은 여전히 ​​레이블의 일부를 보여줍니다. 그런 다음 레이블 (visible = "false"workst)을 숨길 수 있습니다. 그러면 "얇은"행만 보입니다. 하지만 표준보기 행 구분 기호를 사용하면 여전히 행이 있음을 알 수 있습니다.

그래서 내가 뭘 잘못하고 있는거야 ??

데이터를 입력하기위한 양식을 만들기 위해 TableView 레이아웃을 사용하고 스위치가 설정된 경우 일부 행만 사용자에게 표시해야합니다. 이 작업을 수행하는 데 더 좋은 패턴이 있습니까?

내가 스튜디오 3.4.1GA, 맥 OS X 10.10.1에 오전 시뮬레이터 ;-)

미리 감사의 8.1 아이폰 OS를 사용!

/존

답변

0

또한이 질문은 개발자의 Q & A (appcelerator.com)에 나와 있습니다. 나는 그것을 해결하는 방법에 관한 두 가지 제안을 얻었습니다. 둘 다 합금 마크 업을 사용했습니다. 가장 좋은 해결책은 Lucky Luke가 제안한 라인을 따르는 것입니다. 그러나 전통적인 코딩 스타일을 사용하여 TableView를 만드는 대신 Alloy를 사용하십시오.

여기에 link to the solution I chose입니다.

죄송하지만 저는 여기 와서 여기에 링크를 추가하지 않았습니다.

/존

0

나는 그것이 가장 좋은 방법인지 확실하지 오전하지만 당신은 컨트롤러 내부에 섹션을 채우기 시도 할 수 있습니다.

매번 표시 할 행을 모두 배열로 채운 다음 TableViewSection의 rows 특성을 업데이트합니다. 의 tableview를 사용하지 고려가 필요하지 않은 경우, 또는

var section = Ti.UI.createTableSection({...}); 
var row1 = Ti.UI.createTableViewRow({...}); 
var row2 = Ti.UI.createTableViewRow({...}); 
var row3 = Ti.UI.createTableViewRow({...}); 

var rows_options = []; 
if (show_less) rows_options.push(row1, row2); //"hide" 3rd row 
else rows_options.push(row1, row2, row3); //show all 3 rows 

section.rows = rows_options; 



, 대신 거의 같은 사용을 시뮬레이션 할 것이다 행을 호스팅 layout: vertical하여 자신의 뷰를 구축 : 나는 어떤 의사를 인용. 이 경우에는 visible 해킹이 도움이된다고 생각합니다.

관련 문제