我正在尝试连接两个字符串,然后将最终结果中心对齐。问题似乎是两个Text()视图与 + 组合不再创建Text()类型。尝试应用任何.multiLineTextAlignment或只是Alignment给出错误
无法将类型的值转换some View为预期的参数类型Text
这是一个例子:
Text(myText ?? "")
.font(Font(myFont))
.kerning(spacing)
.foregroundColor(Color(textColor))
//.multilineTextAlignment(.center) - throws error
+ Text(text2 ?? "")
.font(Font(myFont))
.foregroundColor(Color(textColor))
.baselineOffset(6)
.kerning(spacing)
Run Code Online (Sandbox Code Playgroud)
小智 6
Text()你是绝对正确的,当一个人使用时你不能连接.multiLineTextAlignment。
理论上,您所编写的内容将创建一个文本视图,该视图会换行,直到到达特定行,然后不再换行。这不是 SwiftUI 中受支持的行为,需要自定义构建。所有串联的文本视图通常需要遵循相同的对齐规则。
但是,如果您想将相同的对齐规则应用于所有串联的文本视图,您可以通过将它们包装起来轻松地做到这一点,如下Group()所示:
Group {
Text(myText ?? "")
.font(Font(myFont))
.kerning(spacing)
.foregroundColor(Color(textColor))
+ Text(text2 ?? "")
.font(Font(myFont))
.foregroundColor(Color(textColor))
.baselineOffset(6)
.kerning(spacing)
}
.multilineTextAlignment(.center)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |