1

だから私はこのコードを持っています:

var answerView = Ti.UI.createScrollView({ //var added
    top: Ti.Platform.displayCaps.platformHeight*0.55,
    left:Ti.Platform.displayCaps.platformWidth*0.1,
width: Ti.Platform.displayCaps.platformWidth*0.8,
backgroundImage: '/images/labelBackground.png',
borderRadius: 8,
height: Ti.Platform.displayCaps.platformHeight*0.5,
contentHeight:'auto',
    showHorizontalScrollIndicator:true,
    scrollType:'vertical',
});
for (var j = 0; j < question.answers.length; j++){
    var row = createRow(question.answers[j]);
answerView.add(row);
}

そしてこの関数:

function createRow(answer) {
var row = Ti.UI.createView({
    width:'100%', 
    height: 'auto',
});
var answerButton = Ti.UI.createButton({
    top: '1%',
    left: '1%',
    title: answer.answer,
    value: answer.order,
    width:'98%',
    font : {fontSize:'12sp'},
});
row.add(answerButton);
return row;
}

問題は、くそったれがすべてのボタンを1つにオーバーレイすることです...つまり、行を「押し下げる」ことではありません。ここのチタンチュートリアルから:

http://docs.appcelerator.com/titanium/2.1/index.html#!/api/Titanium.UI.ScrollView

これでうまくいくと思っていたのですが、うまくいきません。数字を使って魔法をかけ、各行に本来あるべき位置を送ることができることは知っていますが、チタンはそれを行うのに十分賢いと思いましたか?私は何かが足りないのですか?

4

1 に答える 1

2

ああイエス。

この場合、チタンはモロニックです-問題は私が持っていた

高さ:各行の定義の「auto」-つまり:

function createRow(answer) {
    var row = Ti.UI.createView({
        width:'100%', 
        height: 'auto',
    });
...

そしておかしなことに、それは各行を本当に大きくし、おそらくその行に割り当てられたスペース全体と同じくらいの大きさになります。わからない、スクロールしようとしたことはない。したがって、行の高さの値を適切なものに変更するだけです。私は常に表示の高さを基にしています。

今私が持っています

function createRow(answer) {
    var row = Ti.UI.createView({
        width:'100%', 
        height: Ti.Platform.displayCaps.platformHeight*0.1,
    });
...

そして、すべてが順調です。

于 2012-10-09T03:17:44.557 に答える