如何在SwiftUI中添加编号/项目符号列表?
如何在SwiftUI的如何在SwiftUI中添加编号/项目符号列表?,swiftui,swiftui-texteditor,Swiftui,Swiftui Texteditor,如何在SwiftUI的文本编辑器中执行此操作?我想到了从键盘上读回音TextField已更改OneEdit和onCommit,但TextEditor没有更改 在Notes应用程序中,它自动检测编号列表,并具有添加项目符号列表的按钮 我特别希望它在空行后添加数字/项目符号。(如有可能) 您可以使用onChange观察文本编辑器的文本更改。那么。通过执行[text]newText,您可以捕获旧值和新值 text是上一个文本 newText是当前文本 您可以将这些进行比较,以便在用户添加字符时仅添
文本编辑器中执行此操作?我想到了从键盘上读回音TextField
已更改OneEdit
和onCommit
,但TextEditor没有更改
在Notes应用程序中,它自动检测编号列表,并具有添加项目符号列表的按钮
我特别希望它在空行后添加数字/项目符号。(如有可能)
您可以使用onChange
观察文本编辑器的文本更改。那么。通过执行[text]newText
,您可以捕获旧值和新值
text
是上一个文本
newText
是当前文本
您可以将这些进行比较,以便在用户添加字符时仅添加项目符号,而不是删除字符
请注意,我的实现还不能处理粘贴大范围文本的问题
这篇文章可能会有帮助,谢谢!也许你有一个主意,如果点是多行的,如何进行适当的缩进,我只是尝试添加两个“
空格…(但不喜欢)@mikemas我认为在这种情况下,最好在单独的视图中添加项目符号(而不是在文本编辑器中)。这肯定会更复杂,也许可以把它放到另一个问题上?
struct ContentView: View {
@State var text = "\u{2022} "
var body: some View {
TextEditor(text: $text)
.frame(height: 400)
.border(Color.black)
.onChange(of: text) { [text] newText in
if newText.suffix(1) == "\n" && newText > text {
self.text.append("\u{2022} ")
}
}
}
}