Swift - 是否有 UIImageView 委托?
Swift - Is there an UIImageViewDelegate?
所以我已经离开 iOS 编码世界一段时间了,现在我正在经历 Swift。
在 Objective-C 中,我能够即时更改图像,但为此我必须设置图像委托。我设置委托的另一个原因是我可以隐藏 UIImageView
在 Swift 中,我似乎对此有疑问。
有了 playground,我可以做到这一点:
let responseImageView:UIImageView!
responseImageView.hidden = true
但是在项目中这不起作用。
有人可以帮我吗?
在我的项目中我有这样的代码:
@IBOutle var responseImageView: UIImageView!
//Inside a function I have this:
let smile = "smile.png"
imageName = UIImage(named: smile)!
responseImageView = UIImageView(image: imageName)
该代码无效。
我无法通过这样做隐藏图像:
responseImageView.hidden = true
如果您在 Storyboard 或 Interface Builder 中创建了实际的 UIImageView(并正确连接了 IBOutlet - 如果某些地方没有按预期工作,最好仔细检查一下!)您不应该尝试实例化它再次在代码中只是为了改变图像。相反,通过访问 UIImageView 的 .image
属性 来更改图像,如下所示:
let smile = "smile.png"
let image = UIImage(named: smile)
responseImageView.image = image
编辑:
澄清一下:"instantiate" 我特别指的是您项目代码中的这一行:
responseImageView = UIImageView(image: imageName)
在您的函数中执行此操作会中断您在情节提要中建立的连接。如果你在该行或 println("\(responseImageView.superview)")
之后放置一个断点,你会看到你的 responseImageView 实例现在不再附加到超级视图(解释为什么你可以更改它的图像或隐藏或取消隐藏它所有你想要的 -您永远不会在应用程序中看到任何变化)。
所以我已经离开 iOS 编码世界一段时间了,现在我正在经历 Swift。
在 Objective-C 中,我能够即时更改图像,但为此我必须设置图像委托。我设置委托的另一个原因是我可以隐藏 UIImageView
在 Swift 中,我似乎对此有疑问。 有了 playground,我可以做到这一点:
let responseImageView:UIImageView!
responseImageView.hidden = true
但是在项目中这不起作用。
有人可以帮我吗?
在我的项目中我有这样的代码:
@IBOutle var responseImageView: UIImageView!
//Inside a function I have this:
let smile = "smile.png"
imageName = UIImage(named: smile)!
responseImageView = UIImageView(image: imageName)
该代码无效。
我无法通过这样做隐藏图像:
responseImageView.hidden = true
如果您在 Storyboard 或 Interface Builder 中创建了实际的 UIImageView(并正确连接了 IBOutlet - 如果某些地方没有按预期工作,最好仔细检查一下!)您不应该尝试实例化它再次在代码中只是为了改变图像。相反,通过访问 UIImageView 的 .image
属性 来更改图像,如下所示:
let smile = "smile.png"
let image = UIImage(named: smile)
responseImageView.image = image
编辑:
澄清一下:"instantiate" 我特别指的是您项目代码中的这一行:
responseImageView = UIImageView(image: imageName)
在您的函数中执行此操作会中断您在情节提要中建立的连接。如果你在该行或 println("\(responseImageView.superview)")
之后放置一个断点,你会看到你的 responseImageView 实例现在不再附加到超级视图(解释为什么你可以更改它的图像或隐藏或取消隐藏它所有你想要的 -您永远不会在应用程序中看到任何变化)。