読者です 読者をやめる 読者になる 読者になる

動的にheightが変わる場合のScrollView

1画面に収まらないデータを表示する画面を実装するのに、ScrollViewを使用していましたが、Androidでは思い通りだったのですが、iOSではスクロールしませんでした。

var self = Ti.UI.createWindow();
var scrollView = Ti.UI.createScrollView({
  contentWidth:'auto',
  contentHeight:'auto',
  layout : 'vertical',
  showVerticalScrollIndicator:true,
  showHorizontalScrollIndicator:true
});
self.add(scrollView);

var view = Ti.UI.createView({
  backgroundColor:'#336699',
  width:'100%',
  top:'10dp',
  layout : 'vertical',
  height : 'auto'
});
scrollView.add(view);

//・・・以降、viewに対してLabelをaddする
//Labelのheightは一意に決まらない

思い切って、
Titanium BBS(JP unofficial)
で聞いてみたところ、viewのheightを'auto'からTi.UI.SIZEとすれば良いという回答をもらいました。

var view = Ti.UI.createView({
  backgroundColor:'#336699',
  width:'100%',
  top:'10dp',
  layout : 'vertical',
  height : Ti.UI.SIZE
});

実際に試した所、想定通りに表示されました。あー、そういうことだったんですね。返信いただいた方、ありがとうございました!

いやー、JavaScriptだけでAndroid/iOSアプリができるって、楽ですねぇ。