如果变量使用swift 3等于特殊数字,如何显示图像?

时间:2018-07-17 13:21:48

标签: ios swift xcode

我有三张图片(lvl1.png, lvl2.png, lvl3.png)和一个变量(let level = 1)。如果level = 2要显示名为“ lvl2”的图像,我该怎么做?何时level = 3需要显示最后一个图像(lvl3.png)?

我知道它应该是结构if ...,但请您帮助如何正确编写。

4 个答案:

答案 0 :(得分:5)

您可以使用:

let image = UIImage(named: "lvl\(level).png")

let image: UIImage!
switch level {
    case 1:
        image = UIImage(named: "lvl1.png")
    case 2:
        image = UIImage(named: "lvl2.png")
    case 3:
        image = UIImage(named: "lvl3.png")
    default:
        image = UIImage()
}
avatar.image = image

答案 1 :(得分:1)

您可以尝试

 imgName = "lvl" + String(lavel)

 imageView.image = UIImage(named: imgName)

答案 2 :(得分:1)

另一种替代方法是创建一个返回图像的方法,如下所示:

func imageFor(level: Int) -> UIImage? {
  let image = UIImage(named: "lvl\(currentLevel)")
  return image
}

用法:

var currentLevel = 1
let image = imageFor(level: currentLevel)

答案 3 :(得分:0)

您可以尝试

var level = 1 {

    didSet {

        self.imageview.image = UIImage(named: "lvl\(level)")

    }
}

更改级别时,imageView会自动更改