私は現在iPadアプリに取り組んでおり、次の問題が発生しました。
ループで作成された一連のボタンを含む新しいウィンドウを開こうとすると、遷移中に最初のボタンのみが表示され、残りは新しいウィンドウが表示された後にレンダリングされます。ひどいように見えますが、すべてが配置されるまでスライドして「待機」する方法がわかりません(jqueryの準備ができている、またはDOM要素がロードされたときのコールバックのようなものです)。
これが私がしていることです:
clicker.addEventListener('click', function(e){
var overview = Ti.UI.createWindow( {
title : "Overview",
barColor: '#000',
layout : 'vertical',
url: '/views/overview.js',
_parent: Titanium.UI.currentWindow,
navGroup : navGroup,
rootWindow : win1
});
navGroup.open(overview, {animated:true});
});
そしてoverview.jsで私は次のことをします:
var overviewdata = [/*some data*/];
for(var i = 0;i < overviewdata.length;i++){
//calculations for proper positioning
if(i == 0 || i%4 == 0){
toppx = 30;
leftpx = 40;
}
else
{
leftpx += 245;
toppx = -200;
}
overviewbttns[i] = Ti.UI.createButton({
title: overviewdata[i].title,
backgroundImage:"/images/views/button.png",
width: 200,
height: 200,
left: leftpx,
top: toppx,
id: i
});
//add to window
win.add(overviewbttns[i]);
//attach event handler
overviewbttns[i].addEventListener('click',function(e){
var w = Ti.UI.createWindow( {
title : overviewdata[e.source.id].title,
barColor: '#000',
layout : 'vertical',
url: "/views/"+overviewdata[e.source.id].jsfile,
_parent: Titanium.UI.currentWindow,
navGroup : win.navGroup,
rootWindow : win.rootWindow
});
win.navGroup.open(w);
});
}
それで、概要ウィンドウが完全にレンダリングされたときにコールバック/イベントを取得する方法はありますか?
ヒントはありがたいです、私は本当にここで立ち往生しています。
前もって感謝します!