2016-10-06 17 views
1

box1Imageのイメージ名が "sallywin.png"の場合、以下のコードを使用しています。スウィフトイメージ名の比較

IDは機能していないようです。

どうすればこのコードを書くことができますか?

すべてのヘルプは非常にあなたが直接2枚の画像が同じに比較することはできません

if (box1Image.image?.isEqual(UIImage(named: "smswin.png")))! { 
 
      
 
      self.box1Image.image = UIImage(named:"sallywin.png") 
 
     }

+0

imageViewの 'tag'プロパティを使用して状態を取得する必要があると思います。 Justeはその内部の画像を変更するとそれを変更します – CZ54

+0

box1ImageはUIButtonですか? – Hasya

+1

質問に答えを含めないでください。回答があなたの問題を解決した場合は、回答を受け入れたものとしてマークしてください。あなた自身で問題を解決した場合は、自分の回答を投稿することもできます。ありがとうございました。 – Moritz

答えて

2

を高く評価しました。イメージをNSDATAとして取得し、2つのNSDATA値を比較することができます。

1

NSDataを使用して2つの画像を比較できます。

let imageName1 : UIImage = UIImage(named: "Selected_1.png")! 
let imageName2 : UIImage = UIImage(named: "UnSelected.png")! 
let imageView = UIImageView(image: imageName1) 

    if imageCompare(imageView.image!, isEqualTo: imageName2) 
    { 
     print("TRUE") 
    } 
    else 
    { 
     print("FALSE") 
    } 

func imageCompare(image1: UIImage, isEqualTo image2: UIImage) -> Bool { 
    let data1: NSData = UIImagePNGRepresentation(image1)! 
    let data2: NSData = UIImagePNGRepresentation(image2)! 
    return data1.isEqual(data2) 
}