ios Swift中是否有方法根据用户输入动态添加/更新ImageView?

5jvtdoz2  于 2023-03-20  发布在  iOS
关注(0)|答案(1)|浏览(209)

我对斯威夫特很陌生;学习它背后的所有机制。
我很想知道,当没有定义特定的图像名称和URL时,是否有一种方法可以在运行时自动创建ImageView。
例如:用户可以在搜索栏中输入内容的照片应用程序;然后,后端使用这些用户输入在线查找特定图像,然后用该图像更新ImageView。
因此,想象一个文本框,用户可以输入“雪纳瑞”,然后ImageView立即更新并在视图中显示雪纳瑞的照片。
到目前为止,我在swift文档和其他在线文档中找到的每一个代码示例都只展示了如何在预先知道图像和URL的情况下创建一个ImageView。这对我正在尝试做的事情不起作用。
核心问题:ImageView是否支持从动态Web位置插入动态图像?
我是否需要将图像下载到assets文件夹中才能完成此操作,或者是否有一种方法可以动态、临时地显示和访问图像,而无需实际下载和存储它?

fae0ux8s

fae0ux8s1#

您正在描述DALL·E2的功能
DALL·E2是一个人工智能系统,可以从自然语言的描述中创造出逼真的图像和艺术。
图像必须来自某个地方,这是迄今为止最有效的方法。现在实现是一个漫长的过程,但对于戴尔E2,你可以使用

#generations
curl https://api.openai.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "a photo of a happy corgi puppy sitting and facing forward, studio light, longshot",
    "n":1,
    "size":"1024x1024"
   }'

端点返回类似于

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

https://platform.openai.com/docs/api-reference/images/create
然后将url显示为SwiftUI.AsyncImage或第三方,例如Kingfisher
这个调用可以用URLSession来完成,但是OpenAI推荐了一个不必泄露密钥的实现。
API密钥是一种相对简单的控制访问的方法,但是你必须对保护这些密钥保持警惕。避免在你的代码或公共存储库中暴露API密钥;而是将它们存储在安全位置。
https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization
这一点的实现可能需要类似于
Firebase功能+密钥管理器

相关问题