在我的应用程序中,我允许用户根据颜色更改一些 UI 元素。因此,我有一个可用于按钮的图像的三个版本,我想以编程方式选择图像:
PSEUDO CODE
"image0", "image1", "image3"
var userChoice:integer
myButton.setImage("myImage"+userChoice , .normal)
我在 SO 中看到了这个解决方案: Programmatically access image assets
什么是 Swift 等效代码?
现在我正在使用图像文字:
self.But_Settings.setImage(#imageLiteral(resourceName: "settingswhite"), for: UIControlState.normal)
当然,Xcode 会将这部分“#imageLiteral(resourceName: "settingswhite")”更改为无法编辑的图标。
最佳答案
那就不要使用图像字面量。图像文字就是这样 - 代码中的硬值,您在运行时无法更改。从您的包中动态加载图像:
if let image = UIImage(named: "myImage" + userChoice) {
self.But_Settings.setImage(image, for: .normal)
}
关于swift - 如何在 Swift 中像数组一样访问图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42320139/