我想获取当前在UIImageView上显示的图像文件名.我试着得到如下:
let currentImage = alien.image // !alien is my image view
println(currentImage?.description)
Run Code Online (Sandbox Code Playgroud)
但它打印:
Optional("<UIImage: 0x7fa61944c3d0>")
Run Code Online (Sandbox Code Playgroud)
Fog*_*ter 14
你不能这样做.既不快速也不客观 - c.
要做的是存储要检索的数据.那就是......将名称存储在某处并使用它来加载图像.不是相反.
因此,创建一个类似的属性imageName
,然后使用它来加载图像.
解决方法是,对于以后需要参考的图像,我使用还原ID存储图像名称。
我以这种方式使用恢复ID,这样我就可以将多个按钮连接到同一个@IBAction并根据存储在恢复ID中的图像名称进行标识,并运行有关我要显示或隐藏的内容的逻辑。
也许有更好的方法,但是这很关键。
我将图像名称作为恢复ID。
这是我指定图像文件的位置。
然后我将其复制并作为恢复ID放入。
(注意:这并不是本来打算使用的,因为它实际上是用于自定义状态引用,但是如果这与您的视图目的无关,那么它应该可以正常工作。)
选择按钮时在代码中引用。
//Connected to several onboarding buttons.
@IBAction func onBoardingButton(sender: UIButton) {
println(sender.restorationIdentifier)
}
Run Code Online (Sandbox Code Playgroud)
RID已打印出来。
您还可以标记图像,并通过标记保留对这些图像的引用。
而且参考也很容易。
@IBAction func onBoardingButton(sender: UIButton) {
println(sender.restorationIdentifier!)
println(sender.tag)
}
Run Code Online (Sandbox Code Playgroud)
虽然似乎我们无法辨别是什么文件来填充图像视图(我知道并基于对自己的一点了解),但将硬引用附加到视图(图像,按钮等)却可以使我确定连接代码的一面,并确定正在使用哪个图像(在我的情况下为按钮)。
归档时间: |
|
查看次数: |
30824 次 |
最近记录: |