【问题标题】:Dynamic IBOutlet to display Image显示图像的动态 IBOutlet
【发布时间】:2018-09-02 14:09:27
【问题描述】:

我正在尝试将 IBoutlet 设置为显示当前播放的专辑封面。这是我到目前为止所拥有的,但没有骰子。

@IBOutlet weak var nowPlayingArtBackground: UIImageView!

    func currentArt() -> UIImage? {
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image
    @IBOutlet = currentArt()

【问题讨论】:

  • 你的函数到底应该做什么?我还看到您缺少结束语 }
  • 我正在尝试创建一个函数来显示当前播放的专辑插图。并在专辑或艺术家更改时更新。
  • 我想你在找nowPlayingArtBackground.image = currentArt()
  • 我要对你直言不讳,你似乎根本不知道自己在做什么,在我看来,你好像在往墙上扔东西看他们是否坚持下去,如果你正在学习编程,那不会让你走得太远。我强烈建议您从一些基本教程重新开始,以了解一切是什么以及它们如何协同工作。虽然我很欣赏 dfd 在下面为您提供帮助的尝试,但我相信您缺少一些编程所需的关键知识。祝你好运。
  • 我两周后开始上课。我给自己一个基于教程的入门项目。我完全同意您的评估 EmilioPelaez。

标签: swift iboutlet


【解决方案1】:

您的代码中有一些东西 - 特别是 @IBOutlet = currentArt(),这让您难以理解 您认为该代码将如何工作。所以让我们尝试从高水平开始。

您需要一个UIImageView(我们称之为nowPlayingArtBackground)来显示一件艺术品(例如,一个名为currentArt 的函数的输出)。到目前为止,你所拥有的一切都很好。使用 @IBOutlet 建议您将这一切都设置在情节提要中 - 很好。

如果你想在nowPlayingArtBackground中查看currentArt()的输出,你想要的代码行是:

nowPlayingArtBackground.image = currentArt()

这将从您的函数中获取输出并显示它。但是有两个问题你还没有真正回答:

(1)currentArt() 的输出来自哪里?

您的函数代码是采用UIGraphicsGetImageFromCurrentImageContext() 内容的代码,但这个上下文究竟是什么?一般而言,专辑插图存储在某个地方,无论是数据库(Firebase?)还是文件(本地?云?)——事实上,您不一定定义这个。

(2) 是什么触发了更改所显示的艺术品?

换句话说,是什么触发了对currentArt()的调用。

假设您将您的作品作为数据库中的数据存储在本地,其中 key 是歌曲/艺术​​家。您需要一个“驱动程序”,可能是一些 AV 流(我真的不是音频专家,但我的意思是它是需要驱动事物的“音乐播放器”)。当歌曲发生变化时,您需要将图像设置为currentArt() 的输出,并且您需要正确编码该函数以调用该歌曲/艺术​​家组合的艺术品。

希望其中的一些内容能让您指出正确的方向 - 或者至少向您展示您的问题中缺少的一些内容。祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2016-07-30
    • 1970-01-01
    • 2012-10-05
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多