2012-06-09 4 views
1

나는 티타늄을 사용하고 있으며 테이블 뷰 행에 텍스트 영역을 포함하려고합니다. 텍스트 영역은 사용자가 테이블 뷰 행뿐만 아니라 유형을 입력 할 때 높이가 동적으로 증가해야합니다. 나는 그것이 계산을 필요로한다는 것을 알고 있지만 알고리즘에 대해 전혀 모른다. 누군가가 친절하게 조언을 해줄 수 있습니까?티타늄 Appcelerator 동적 TextArea 높이 증가

많은 감사. 지금까지

코드 :

var win = Ti.UI.createWindow({ 
    title: 'My Message' 
}); 

var tableview = Ti.UI.createTableView({ 
    height: 'auto', 
    layout: 'vertical', 
    style:Titanium.UI.iPhone.TableViewStyle.GROUPED, 
    headerTitle:'Message', 
}); 

var tf = Ti.UI.createTextField({ 
    width: 200, 
    top: 10, 
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED 
}); 

var rowTo = Ti.UI.createTableViewRow({ 
    height: 'auto' 
}); 


var ta = Ti.UI.createTextArea({ 
    height: 'auto', 
    font: [{fontSize: 11}], 
    top: 0, 
    bottom: 20, 
    width: 250, 
    height: 50, 
    backgroundColor: 'green' 
}); 
var rowMsg = Ti.UI.createTableViewRow({ 
    height: 'auto' 
}); 

rowTo.add(tf); 
rowMsg.add(ta); 

tableview.appendRow(rowTo); 
tableview.appendRow(rowMsg); 

win.add(tableview); 
win.open(); 

답변

1

레이블을 사용하고 textArea의 그것의 높이를 지정합니다. 'change'에서 textArea의 eventListener는 label의 높이를 기준으로 textArea의 높이를 업데이트합니다. 아래의 ur 코드를 참조하십시오, 나는 그것을 바 꾸었습니다.

var win = Ti.UI.createWindow({ 
    title : 'My Message' 
}); 

var tableview = Ti.UI.createTableView({ 
    height : 'auto', 
    layout : 'vertical', 
    style : Titanium.UI.iPhone.TableViewStyle.GROUPED, 
    headerTitle : 'Message', 
}); 

var tf = Ti.UI.createTextField({ 
    width : 200, 
    top : 10, 
    borderStyle : Ti.UI.INPUT_BORDERSTYLE_ROUNDED 
}); 

var rowTo = Ti.UI.createTableViewRow({ 
    height : 'auto' 
}); 

var ta = Ti.UI.createTextArea({ 
    font : [{ 
     fontSize : 11 
    }], 
    top : 0, 
    width : 250, 
    scrollable : false, 
    backgroundColor : 'green', 
    height : 'auto' 
}); 

var label = Ti.UI.createLabel({ 
    width : 250, 
    font : [{ 
     fontSize : 11 
    }], 
    height : 'auto', 
    text : ta.value, 
    visible : false 
}); 

var rowMsg = Ti.UI.createTableViewRow({ 
    height : 'auto' 
}); 

ta.addEventListener('change', function(e) { 
    label.text = e.value; 
    ta.height = label.height; 
    rowMsg.height = label.height; 
}); 

rowMsg.add(label); 
rowTo.add(tf); 
rowMsg.add(ta); 

tableview.appendRow(rowTo); 
tableview.appendRow(rowMsg); 

win.add(tableview); 

win.open(); 
관련 문제