SwiftUI扩展文本编辑器

lnxxn5zx  于 2023-06-21  发布在  Swift
关注(0)|答案(1)|浏览(151)

我是一名学习SwiftUI的Flutter开发人员。我正在SwiftUI中开发一个ChatGPT克隆应用程序,并试图重新创建扩展的TextEditor。我已经尝试了各种文章中提到的许多方法,但所有这些方法都感觉像是一种廉价的解决方案。我最接近的方法是使用TextField和以下方法:

TextField("What's up?", text: $text, axis: .vertical)
    .lineLimit(1...5)

但是,我无法使用Enter按钮在TextField中创建新行,我认为这是TextEditor存在的原因。
这是我试图重新创建的视图:

f87krz0w

f87krz0w1#

您可以通过添加submitScope修饰符来阻止“return”键关闭键盘。

TextField("What's up?", text: $text, axis: .vertical)
    .submitScope()
    .lineLimit(1...5)

默认情况下,点击“return”键会创建一个“submit”操作并关闭键盘,您可以使用onSubmit { ... }来处理这个操作。如果添加.submitScope(),则没有“提交”操作,因此会插入一个新行。

相关问题