我是SwiftUI的新手,我想在文本中放置一个图像,类似于下面的示例图像:
虽然我可以在标签的开头添加一个图像,
Label("You can also edit the text.", systemImage: "pencil.line")
我想把图像融入到文本中。
qybjjes11#
在SwiftUI中,您可以通过+ operator轻松地将多个文本元素合并组合为单个文本,并在该文本中合并图像。以下是如何在文本中放置图像:
Text("You can also ") + Text(Image(systemName: "pencil.line")) + Text(" edit the text")
您可以灵活地将修改器单独或共同应用于文本元素。
集体修改申请:
要共同应用修饰符,请将所有文本元素括在第一组括号内,然后应用修饰符,如下所示:
(Text("You can also ") + Text(Image(systemName: "pencil.line")) + Text(" edit the text")) .font(.title2) .fontWeight(.medium) .foregroundStyle(.green)
单独应用修改器:
您可以轻松地将修饰符应用于单个文本元素,就像SwiftUI中的任何其他视图一样。
Text("You can also ") .font(.title2) .fontWeight(.medium) .foregroundStyle(.green) + Text(Image(systemName: "pencil.line")) .fontWeight(.bold) .foregroundStyle(.blue) + Text(" edit the text") .italic() .fontWeight(.bold)
fivyi3re2#
你需要知道两件事:
+
Text
Image
由此可见:
( Text("You can also ") + Text(Image(systemName: "pencil.line")) + Text(" edit the text.") )
z9ju0rcb3#
如果您需要处理本地化(即,图像的位置可能会根据语言而变化),您可能希望将NSMutableAttributedString与NSTextAttachment一起使用,您可以通过将占位符子字符串替换为附件来插入图像。您可以使用UIViewRepresentable将NSAttributedString放入SwiftUI视图。
NSMutableAttributedString
NSTextAttachment
UIViewRepresentable
NSAttributedString
3条答案
按热度按时间qybjjes11#
在SwiftUI中,您可以通过+ operator轻松地将多个文本元素合并组合为单个文本,并在该文本中合并图像。以下是如何在文本中放置图像:
申请修改器:
您可以灵活地将修改器单独或共同应用于文本元素。
集体修改申请:
要共同应用修饰符,请将所有文本元素括在第一组括号内,然后应用修饰符,如下所示:
单独应用修改器:
您可以轻松地将修饰符应用于单个文本元素,就像SwiftUI中的任何其他视图一样。
fivyi3re2#
你需要知道两件事:
+
operator将两个合并合并为一个更大的Text
。Text
initializer将Image
转换为Text
。由此可见:
z9ju0rcb3#
如果您需要处理本地化(即,图像的位置可能会根据语言而变化),您可能希望将
NSMutableAttributedString
与NSTextAttachment
一起使用,您可以通过将占位符子字符串替换为附件来插入图像。您可以使用
UIViewRepresentable
将NSAttributedString
放入SwiftUI视图。