首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决“无法将类型'UIImageView?‘的值分配给类型’UIImage?‘?”有什么问题?

如何解决“无法将类型'UIImageView?‘的值分配给类型’UIImage?‘?”有什么问题?
EN

Stack Overflow用户
提问于 2019-07-10 00:41:07
回答 2查看 1.1K关注 0票数 0

免责声明:我已经修改/正在修改我的导师从互联网上下载的一个项目。

这是我的家庭作业项目:3个幸运饼干在屏幕上,用户点击“查找我的幸运”按钮,这将随机选择三个cookie中的一个(使用.randomElement()属性)。将打开一个窗口,显示该随机cookie图像。但是,我无法将窗口中的图像设置为.randomElement()属性的结果

我已经尝试过将UIImage转换为UIImageView,反之亦然,但现在我束手无策。

下面是正在形成的随机元素的全局类

class globalElements {
    static let cookiesArray = [globalElements.numberOne,        
        globalElements.numberTwo, globalElements.numberThree]
    static let randomlyAssignedCookie = cookiesArray.randomElement()

}


//And here is where the title error shows up:


let randomlyChosenFortune: UIImageView = {
    let image = UIImageView()
    image.translatesAutoresizingMaskIntoConstraints = false
    image.clipsToBounds = true
    image.contentMode = .scaleAspectFit
    image.image = globalElements.randomlyAssignedCookie //(error: Cannot assign value of type 'UIImageView?' to type 'UIImage?')//

    return image
}()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-10 00:46:55

您正在尝试为类型UIImage分配UIImageView。这是两件不同的事情。对于初学者,在将图像分配给“imageView”时,我会将其命名为“randomlyChosenFortune”。UIImageView是UIView的子类,即可以将其添加到视图层次结构中。UIImage只是一张图片。它没有边框、边角半径、边框宽度等。

这意味着,当您想要将在代码中创建的UIImage实际添加到视图中时,需要通过以下方式完成:

创建一个实例,将该视图的UIImageView

  • Setting‘s optional image属性设置为视图层次结构的UIImage

  • Add UIImageView

这里有一个很好的参考资料,让您了解它们之间的差异:Difference between UIImage and UIImageView

UIImage参考:https://developer.apple.com/documentation/uikit/uiimage

UIImageView参考:https://developer.apple.com/documentation/uikit/uiimageview

理解UIView子类化:https://developer.apple.com/documentation/uikit/uiviewhttps://medium.com/@fvaldivia/view-hierarchy-in-swift-ios-9f86a7479cb5

票数 1
EN

Stack Overflow用户

发布于 2019-07-10 00:45:17

您应该将UIImage设置为UIImageViewUIImage

您的globalElements.randomlyAssignedCookie类型可能不是UIImage

如果你想设置图像类型为UIImageView,你应该使用UIImage类型。

只有相同类型的才能相互同步

我希望这能让情况有所不同。

好好享受吧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56957153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档