1

私はチタン 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

誰でも助けることができますか?

4

2 に答える 2

1

イベントコールバックに戻り変数を入れると、タップのソースにアクセスできます。これを試して、機能するかどうかを確認してください。

FrontView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:BackView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_RIGHT});
});

BackView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:FrontView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT});
});
于 2013-02-01T21:44:13.087 に答える
0

スクロール可能なビューのEventListenerでカードを裏返すと機能することがわかりました。これをチェックしてください:https ://gist.github.com/4683264

于 2013-01-31T14:43:32.057 に答える