2017-04-14 20 views
2

したがって、プレヴィスの質問で私のanwserを見つけた後here私はこのUIImageViewにGestureRecognizerを追加します。ユーザーがタップすると、色が変わります。また、再度タップすると、デフォルトの画像が復元されます。UIImageViewがUIImageをタッチしたときに以前のUIImageを復元します

これを行うためのヒントはありますか?

私は各クリックで更新するリストについて考えていましたが、それを行うのが最も良いことはわかりません。

は、ここで私はあなたにこのソリューションを提供することができ、コメントに基づいてGestureRecognizer

UITapGestureRecognizer CreateTouchGesture(UIImageView imageView) 
{ 
    var touchGesture = new UITapGestureRecognizer((tg) => 
    { 
     imageView.Image = DrawSelectedBorder(imageView.Image); 
    }); 

     return touchGesture; 
} 
+0

何のオブジェクトIDを持つクラス変数dictionnaryについてのキーと値などの画像のように:このように

? – Leze

+0

これは私がフリースタイルを試したものですが、それを行う良い方法は何か分かりません。 – SunLiker67

答えて

2

です。 UIImageView AnimationImagesプロパティを使用して、ベースイメージを格納します。 イメージをもう一度押すと、この配列からイメージを取得します。 あなたがどの州にいるのかを知るには、Ighlightedプロパティを使用します。

var touchGesture = new UITapGestureRecognizer((tg) => 
{ 
    if(!imageView.Highlighted){ 
     imageView.Highlighted = true; 
     imageView.AnimationImages = new UIImage[]{imageView.Image}; 
     imageView.Image = DrawSelectedBorder(imageView.Image); 
    }else{ 
     imageView.Highlighted = false; 
     imageView.Image = imageView.AnimationImages[0]; 
     System.Diagnostics.Debug.WriteLine(imageView.AccessibilityLabel); 
    } 
}); 
+0

もう一度おねがいします。より良い解決策が出れば、私はただ待っています。あなたのものをテストして、それが効いている。このように使うのはメモリが安全であれば、放浪するだけです。私は自分のアプリケーションでそのように管理するための多くのイメージを持っています。 – SunLiker67

関連する問題