#swift #image
#swift #изображение
Вопрос:
Я использую приведенный ниже код, чтобы определить, равно ли имя изображения в box1Image «sallywin.png».
Идентификатор, похоже, не работает.
Как бы мне это сделать?
Любая помощь очень ценится
if (box1Image.image?.isEqual(UIImage(named: "smswin.png")))! {
self.box1Image.image = UIImage(named:"sallywin.png")
}
Комментарии:
1. Я думаю, вам следует использовать
tag
свойство вашего ImageView, чтобы получить его состояние. Просто измените его, когда вы измените изображение внутри него2. Является ли box1Image UIButton?
3. Пожалуйста, не включайте ответ в свой вопрос. Если ответ решил вашу проблему, отметьте ответ как принятый; вы также можете опубликовать свой собственный ответ, если вы решили свою проблему самостоятельно. Спасибо.
Ответ №1:
Вы не можете напрямую сравнивать два одинаковых изображения. Вы можете получить изображения как NSDATA, а затем сравнить два значения NSDATA равны.
Ответ №2:
Вы можете сравнить 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)
}