【问题标题】:Can't add UIImage to UIImageView (Swift)无法将 UIImage 添加到 UIImageView (Swift)
【发布时间】:2019-08-07 15:48:50
【问题描述】:

截至 2019 年 3 月,我正在尝试将 UIImage 添加到 Swift 中的 UIImageView。该图像的标题正确,并保存在 iCloud Drive 中与 Swift 文件相同的目录中。我可以完美地将 UIImageView 添加到视图控制器,但图像没有显示在其中。我相信我有正确的文件名,因为我直接从 finder 复制了它。我想要做的是在查看器内有一个图像,该图像按纵横比缩放以适合查看器。

let discoverIcon = UIImage(named: "DiscoverButtonIcon.png")
    let discoverImageView = UIImageView(frame: CGRect(x: 200, y: 200, width: 100, height: 100))
    discoverImageView.image = discoverIcon
    discoverImageView.contentMode = .scaleAspectFit
    view.addSubview(discoverImageView)

这是我尝试做的,但 UIImage 不会显示。

【问题讨论】:

  • 我在 viewDidLoad 方法中使用了您的代码,实际上我得到了一个指出位置的图像。所以我建议你调试你的代码:在discoverImageView.image = discoverIcon 上设置断点并进行 1 步并在控制台类型:po discoverImageView.image。您必须在结果中收到一些图像

标签: ios swift uiimageview uiimage


【解决方案1】:

临时更改

UIImage(named: "DiscoverButtonIcon.png")

UIImage(named: "DiscoverButtonIcon.png")!

运行应用程序。如果它崩溃,则说明您的名称有误,或者该图像根本不在您的应用程序包中。

与 Swift 文件保存在 iCloud Drive 中的同一目录中

这听起来像是问题所在。这不是图像需要的地方。它需要在您的资产目录或应用程序包中。

【讨论】:

    【解决方案2】:

    最佳做法是将图像添加到资产文件夹。通过添加您的 assets.xcassets 图像,它将被添加到您的捆绑资源中。

    如果您不想将其添加到 assets.xcassets 文件夹,请将图像添加为项目中的另一个项目。但是,请确保将图像添加到正确的目标。 (您可以在 File Inspector > Target Membership 中查看)

    • 您可以检查 Build Phases > Copy Bundle Resources 以确保将图像正确添加到 Bundle。
    // If you add image to assets.xcassets
    let image = UIImage(named: "DiscoverButtonIcon")
    
    // If you add image as a resource
    let image = UIImage(named: "DiscoverButtonIcon.png")
    
    // Set a break point here to debug your image.
    

    【讨论】:

      【解决方案3】:

      尝试将您的图片添加到Images.xcassets

      【讨论】:

        猜你喜欢
        • 2015-04-20
        • 2012-03-11
        • 2010-11-19
        • 2011-01-22
        • 1970-01-01
        • 1970-01-01
        • 2011-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多