2

動的な高さを持つビューを作成しようとしたときに、いくつかの問題に遭遇しました。

「post_comment」は、テキストが表示されるラベルです。テキストの長さは動的でなければならず、「containComment」ビューは、このラベルを表示できるように高さを調整する必要があります。

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

postlayout を使用して高さを取得しましたが、何らかの理由で関数の外で同じ値を取得できません。

矢印で示した 2 か所で「comment_height」をテストしました。1 では、高さが正しいことが示されています。しかし、2では、高さは常にデフォルト値の100です。「comment_height」がグローバルではないためだと考えていたので、スクリプトの先頭に送信しましたが、それでも問題は解決しません。

どんな助けでも大歓迎です。

4

1 に答える 1