我正在开发一个SwiftUI应用程序,在那里我想插入内联图像到Text视图.对于静态内容,我可以使用字符串内插,如下所示:

Text("Hello, \(Image(systemName: "pencil")) World! \(Image(systemName: "pencil.circle"))")

结果将如下所示:

enter image description here

但在我的例子中,内容可能是动态的.也就是说,我可能会从服务器收到以下字符串:

Hello #image(pencil) World! #image(pencil.circle)

我必须动态解析内容,并提供带有SwiftUI文本的内联图像.这个是可能的吗?我只想知道如何用图像动态构造字符串插值法,字符串的解析不是我关心的问题.

推荐答案

您可以在初始化变量时将其传递给Image:

var imageNameFromServer = "pencil"
Text("Hello, world \(Image(systemName: imageNameFromServer))")

更新:使用Text件物品的例子:

@ViewBuilder
var longText: some View {
    (0...100).reduce(Text(""), { $0 + Text("\($1)")})
}

Ios相关问答推荐

如何使用UICollectionView Compositionallayout在UIKit中正确渲染远程图像

Swift addtarget方法的默认参数不生效

ios PWA从外部链接返回后降低了innerheight

从包含 5 个以上项目的自定义选项卡栏的导航视图中删除更多按钮

Swift中是否有一种方法可以为可选属性创建一个计算(computed)属性

Flutter Aging Person 自定义小部件

查找东南亚语言(泰语、高棉语、老挝语、缅甸语)中的单词边界

过渡动画在 iOS16 中不起作用,但在 iOS15 中起作用

小部件链接有效,但不执行任何操作

通过 tuist/XcodeProj 以编程方式将文件添加到本机目标

将 SwiftUI 与 @AppStorage 和动态函数调用一起使用

如何在 SwiftUI 上制作可点击的map route?

如何在通用应用程序中同时支持 iPad 和 iPhone 视网膜图形

如何判断 `NSManagedObject` 是否已被删除?

通过touch 传递到下面的 UIViews

无法将NSTaggedPointerString类型的值转换为NSNumber

iOS 10 / Xcode 8 设备上的 NSLog 似乎被截断了?为什么?

使用未知类型创建图像格式是一个错误与 UIImagePickerController

AVAudioRecorder 抛出错误

Xcode中的终端窗口?