Titan: Erstellen einer Ansicht mit dynamischer Höhe

Ich lief in einige Probleme, wenn Sie versuchen, eine Ansicht zu erstellen, die mit einer dynamischen Höhe.

"post_comment" ist mein label, wo der text angezeigt werden. Die Länge von text muss dynamisch sein, und die "containComment" - Ansicht anpassen, um die Höhe in der Lage sein, um dieses label.

var post_comment = Titanium.UI.createLabel({
        color:'#000',
        text:L(randomText),
        top:10,
        bottom:30,
        left:4,
        width:220,
        height:'auto',
        font: { fontSize:11 },
    });

    var comment_height = 100;

    post_comment.addEventListener('postlayout', function(e) {
        comment_height = e.source.rect.height;
        alert(comment_height); <--------- 1
    });

    var containComment = Titanium.UI.createView({
        layout :'horizontal',
        contentWidth:'100%',
        height: comment_height,
    });
    alert(comment_height);  <-------- 2

Ich verwendet postlayout, um die Höhe, aber für einige Grund ich kann nicht den gleichen Wert außerhalb der Funktion.

Getestet habe ich die "comment_height", die an 2 Orten angezeigt durch die Pfeile. In 1, die Höhe angezeigt wird, korrekt zu sein. Aber bei 2, die Höhe ist immer der default-Wert von 100. Ich dachte, es war wegen "comment_height" nicht global, deshalb schickte ich es an den Kopf der Skript, aber es immer noch nicht das Problem zu beheben.

Jede mögliche Hilfe würde geschätzt.

InformationsquelleAutor ben721sg | 2013-09-27
Schreibe einen Kommentar