ios - 不显示图像

标签 ios swift

我正在尝试将图像发送到另一个 View ,但问题是它没有在 UIImage 中显示图像。
我正在做的是将一个字符串发送到另一个 View ,如果该字符串与“一个”或“两个”等相同,它应该从 Assets 中获取图像。

if imagen=="one" {
    miImagen == UIImage(named: "one")
}

我检查我发送的内容并打印它(并且它有效)。唯一没有显示它。

import UIKit

class SecondController: UIViewController {
    @IBOutlet weak var miImagen: UIImageView!

    var imagen = String()

    override func viewDidLoad() {
        super.viewDidLoad()

        if imagen=="uno" {
            self.miImagen.image == #imageLiteral(resourceName: "uno")
        }

        if imagen=="dos" {
             self.miImagen.image == #imageLiteral(resourceName: "dos")
        }
        if imagen=="three" {
            self.miImagen.image == #imageLiteral(resourceName: "three")
        }
        if imagen=="four" {
            self.miImagen.image == #imageLiteral(resourceName: "four")
        }
        if imagen=="five" {
           self.miImagen.image == #imageLiteral(resourceName: "five")
        }
        if imagen=="six" {
             self.miImagen.image == #imageLiteral(resourceName: "six")
        }
        if imagen=="seven" {
             self.miImagen.image == #imageLiteral(resourceName: "seven")
        }
        if imagen=="eight" {
             self.miImagen.image == #imageLiteral(resourceName: "eight")
        }
    }
}

我在我的“ifs”之一中添加了 print("Your image name is"+imagen") 并且它有效但它不执行其他代码。

最佳答案

您的主要问题是尝试使用 == 而不是 = 将图像分配给 ImageView 。

之后,您可以进行多项改进。由于 imagen 只能等于一个值,因此您确实应该使用 if else

if imagen == "uno" {
    miImagen.image = UIImage(named: "uno")
} else if imagen == "dos" {
        miImagen.image = UIImage(named: "dos")
} else if ... { // etc.
}

更好的是,使用开关:

switch imagen {
    case "uno":
        miImagen.image = UIImage(named: "uno")
    case "dos":
        miImagen.image = UIImage(named: "dos")
    // and the rest
    default:
        break
}

但最好的解决方案是考虑到您想要的图像与 imagen 的值相同。将整组 if 替换为:

miImagen.image = UIImage(named: imagen)

这就是您所需要的。只需一行即可处理所有图像。

关于ios - 不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733213/

相关文章:

iphone - 使用 Core Graphics 绘图

ios - SwiftUI 无法点击 HStack 的 Spacer

ios - 如何在 Swift 中保持 UITextView 中 HTML 内容的缩进?

ios - 尝试在字典的键上追加元素时出现 nil/optional 错误

swift - 订阅以获取嵌套数组

ios - 如何使用 Reachability.m/.h 强制检查互联网可达性

ios - 将 Timer 添加到主 RunLoop 是正确的解决方案吗?

ios - 使用 AFNetworking 验证自签名证书

ios - 切换 tabBarController 索引而不是 segueing 时将数据从一个 ViewController 传递到另一个

ios - 异常类型 : EXC_CRASH (SIGABRT) Caused by nanozone_error