Ios 是否创建带有字符串标记的UIImageView子类?
我想获得一个功能,当您使用文件设置图像时,Ios 是否创建带有字符串标记的UIImageView子类?,ios,swift,Ios,Swift,我想获得一个功能,当您使用文件设置图像时,UIImageView子类将自动将其保存在var stringTag:String中 如果我只是用这个变量创建子类,那么在设置图像时,我必须手动设置它的标记名: imageView.image ="abc.png" imageView.tagString="abc.png" 有没有一种简单的方法来创建这个子类,这样当我设置图像时,它会自动将其文件名保存为标记var?不幸的是,这是不可能的。因为UIImage不存储有关文件路径或名称的任何信息 实现类似目
UIImageView
子类将自动将其保存在var stringTag:String中代码>
如果我只是用这个变量创建子类,那么在设置图像时,我必须手动设置它的标记名:
imageView.image ="abc.png"
imageView.tagString="abc.png"
有没有一种简单的方法来创建这个子类,这样当我设置图像时,它会自动将其文件名保存为标记var?不幸的是,这是不可能的。因为UIImage不存储有关文件路径或名称的任何信息
实现类似目标的一种方法是这样做:
class TaggableImageView:UIImageView
{
var tagString:String?
var imageName:String?
{
didSet
{
self.image = UIImage(named:imageName)
self.tagString = imageName
}
}
}
没有意义,因为您可以将UIImage分配给imageView而不需要文件名。IE:NSData中的UIImage或下载的UIImage。在这种情况下,它将没有名称。没错,所以类将永远不会自动“知道”吗?我必须手动设置此属性?谢谢,那么当您执行imageView.image=x时会发生什么情况?或者它是我必须设置的东西:imageView.imageName=x?didSet
会在您为任何属性指定新值时激活。还有set
、didGet
和get