2016-10-06 6 views
1

Я использую приведенный ниже код для разработки, если имя изображения в box1Image равно «sallywin.png».Swift Название изображения Compare

Id, похоже, не работает.

Как я могу это кодировать?

Любая помощь очень ценится

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

+0

Я думаю, что вы должны использовать свойство 'tag' вашего imageView для его состояния. Juste изменить его, когда вы меняете изображение внутри него – CZ54

+0

Является ли box1Image UIButton? – Hasya

+1

Пожалуйста, не включайте ответ в свой вопрос. Если ответ решил вашу проблему, отметьте ответ как принятый; вы также можете опубликовать свой собственный ответ, если решите свою проблему самостоятельно. Спасибо. – Moritz

ответ

2

Вы не можете непосредственно сравнивать два изображения одинаковы. Вы можете получить изображения как NSDATA, а затем вы можете сравнить два значения NSDATA, равные.

1

Вы можете сравнить 2 изображения, используя NSData.

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) 
}