<分区>
在我的场景中,UIView
中共有 9 张图像。在这 9 张图像中,2 或 3 可能是相同的,所以当我将一个 ImageView 拖放到另一个 imageView 中时,所以在拖放之后我想将拖动图像与我放置拖动图像的图像进行比较。
希望您能轻松理解我的问题。 先感谢您!
最佳答案
要比较两个 UIImage
对象,您可以有两种方法。
NSData
并使用 isEqual
进行比较。Data
并使用 elementsEqual
进行比较。后者显然更准确。在此处查看更多信息/讨论:How to compare two UIImage objects
extension UIImage {
func isEqual(to image: UIImage) -> Bool {
guard let data1: Data = UIImagePNGRepresentation(self),
let data2: Data = UIImagePNGRepresentation(image) else {
return false
}
return data1.elementsEqual(data2)
}
}
希望对您有所帮助。
编辑:
做这样的事情https://www.youtube.com/watch?v=6zdgFwAE2y4 (来自OP的评论),有几种方法可以做到这一点。我能想到的一个方法是,您可以创建一个具有 UIImage
和 identifier
等属性的类,或者说 shape
。
这样,您就可以通过自定义属性shape
轻松比较两个不同的图像/对象。 :) 祝你好运。
关于ios - 当我拖动 UIImageView 时,在拖动过程中想要与同一 View 上显示的其他 imageView 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54195763/