私はチタン appcelerator を使用してフラッシュ カード アプリを設計しています。最終的な目的は、スクロール可能なビューを使用して「パック」内の各カードを表示し、単一のカード (つまり、表示されているカード) をタップすると、その軸を中心に回転することです (つまり、ひっくり返して) 裏面を表示します。
下の図から、私が達成したいと考えていることがわかります。
残念ながら、パネルの 1 つをタップすると、子ビューのアニメーションではなく、スクロール可能なビューの最後の子がアニメーションします。
これは、ループ内で変数を割り当てているという事実と関係があることを理解していますが、誰かが私のコードを見て、私が間違っていることを教えてくれれば、それは素晴らしいことです.
JQueryでは、次のようになります
$(FrontView).click(function(){
$(this).parent().flip() //how do I access $(this) and $(this).parent() in Appcelerator?
});
これが私のappceleratorコードです:
while(rows.isValidRow()){
var FrontView = Ti.UI.createView({
backgroundImage: '/global/card_bg.png',
width: 295,
height:297
});
var BackView = Ti.UI.createView({
backgroundImage: '/global/card_bg.png',
width: 295,
height:297
});
var ControlView = Titanium.UI.createView({
backgroundColor:"#333",
bubbleParent : false,
width: 295,
height:297,
top : 100
});
FrontView.addEventListener('singletap', function() {
Ti.API.info('singletap');
ControlView.animate({view:BackView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_RIGHT});
});
BackView.addEventListener('singletap', function() {
Ti.API.info('singletap');
ControlView.animate({view:FrontView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT});
});
$.scrollable_view.addView(ControlView);
ControlView.add(BackView);
ControlView.add(FrontView);
rows.next();
} //endwhile
誰でも助けることができますか?