How can I find out what the image name (usually file name?) loaded into a UIImage instance is? In this case, they were all initWithContentsOfFile:
.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Once it's loaded using that, you can't. The file name is only used to load the data into memory. After that, it becomes irrelevant.
If you need to maintain the file name, then perhaps you need to make a class with the filename (as an NSString
or NSURL
, perhaps) and the image data (as an NSImage
or NSData
object) as ivars. I'm not sure what your application is, so I can't give you any architectural advice at this point.
回答2:
If you already know what the image names are you can compare your image to another image using image named:
if (bg.image == [UIImage imageNamed:@"field.jpeg"]) {
bg.image = [UIImage imageNamed:@"cave.jpeg"];
} else {
bg.image = [UIImage imageNamed:@"field.jpeg"];
}
Here I use one button to switch between two images.
回答3:
It's also something you can't just add a category on UIImage to, unfortunately, because it requires state.