【问题标题】:Display image on button if the image exists如果图像存在,则在按钮上显示图像
【发布时间】:2018-03-16 04:53:28
【问题描述】:

我正在做一个图像测验。我有一个按钮,如果没有正确的图像,它将显示正确的图像或错误的图像。唯一的问题编号来自一个数组。

if (questionlist[1]correct = [UIImage imageNamed:@"questionlist[1]correct.png"]) {
    Answer4.setImage(UIImage(named: "\(questionlist[1])correct.png"), forState: UIControlState.Normal)
} else {
    Answer4.setImage(UIImage(named: "\(questionlist[1])fourthwrong.png"), forState: UIControlState.Normal)
}

【问题讨论】:

  • 你的问题是什么?此外,先修正你的语法,你的第一行不是有效的 Swift 代码。
  • 正如你这么快注意到大卫我没有让我的 if 语句在 Swift 中有效。
  • 您在该声明中实际上想做什么?您是否尝试将图像名称作为字符串或 UIImage 对象进行比较? questionlist 中存储了哪些对象?
  • 我正在尝试将图像名称作为字符串进行比较。
  • 请更具体。您要比较的两个字符串是什么? questionlist[1]correct 不能是变量名,因此我的问题是......此外,您设法在代码中使用字符串插值,那么为什么 Obj-C 代码在第一行中带有明显的非插值字符串?

标签: ios swift image button


【解决方案1】:

好的,如果我理解您的 questionList 数组只是一个数字数组?所以questionList = [1,2,3,etc]?在这种情况下,您可能想尝试以下方法:

    let imageName = "\(questionList[1])wrong.png" //for instance 2wrong.png

    if (UIImage(named: imageName) == nil) { // no wrong image exists
        imageView.image = UIImage(named: "\(questionList[1])correct.png")
    } else {
        imageView.image = UIImage(named: "\(questionList[1])wrong.png")
    }

当然,这是假设存在正确的图像。目前还不清楚你在追求什么,更多信息/更多代码会有所帮助。

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    相关资源
    最近更新 更多