如何阻止SwiftUI TextField进行“智能编辑”

问题描述 投票:0回答:1

如果您创建 SwiftUI TextField,它会执行一些您可能希望或可能不希望在应用程序中使用的“智能编辑”。

示例:

  • 如果您快速键入“a”(一个字母后跟 2 个空格),它会假设您正在结束一个句子,并将您的文本转换为该字母后跟一个句点。 (我相信有一个用户设置可以将其关闭。)
  • 如果您输入“...”(3 个句点),它会将其转换为省略号字符 (...),这是单个 unicode 字形。
  • 如果您输入用单引号或双直引号(
    "
    '
    )括起来的文本,它会将它们转换为左引号和右引号。

默认情况下它还会进行自动更正和自动大写。您可以分别使用

.disableAutocorrection(true)
.autocapitalization(.none)
ViewModifiers 关闭它们。

作为开发人员,如果您不需要其他“智能编辑”功能,如何关闭它们? (不是作为 iOS 用户。我想在我的应用程序中标记一个或多个

TextField
,以便它们不提供这些编辑功能。)

swift swiftui textfield
1个回答
0
投票

看来可以使用ViewModifier

                .keyboardType(.asciiCapable)

由于上述所有字符都是非ASII,因此具有防止这些替换的效果。

© www.soinside.com 2019 - 2024. All rights reserved.