【发布时间】:2021-10-25 17:29:35
【问题描述】:
我正在尝试创建一个简单的文本字段,允许输入带有换行符序列并输出带有换行符的文本。
struct Foo: View {
@State private var inputText: String
var body: some View {
VStack {
TextField("foo", text: $inputText)
Text(inputText)
}
}
}
换行序列在Text("hello\nworld") 中可以正常工作,但如果与 TextField 一起使用,则只会显示“\n”而不是换行符。我也尝试访问绑定字符串的 WrappedValue 无济于事。我在这里错过了什么?
编辑:我对多行输入不感兴趣。我对像“hello\nworld”这样的单行输入感兴趣。但是,当我通过 TextField 在绑定变量中捕获“hello\nworld”时,我没有看到我期望的输出,即 hello 然后是换行符然后是 world。相反,我看到的字符串与输入的完全一样:hello\nworld.
【问题讨论】:
-
您是说用户实际上会键入“hello\nworld”(包括“\”和“n”),然后您想将其转换为换行符吗?
-
没错。如果你只有 Text("hello\nworld"),那通常会发生这种情况。
-
澄清一下:“hello”和“world”在不同的行中,正如您所期望的那样。
标签: swiftui escaping newline textfield