動的な高さを持つビューを作成しようとしたときに、いくつかの問題に遭遇しました。
「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」がグローバルではないためだと考えていたので、スクリプトの先頭に送信しましたが、それでも問題は解決しません。
どんな助けでも大歓迎です。