有啥方法可以在 SwiftUI 中的可搜索导航修饰符上关闭自动更正/设置键盘类型

Posted

技术标签:

【中文标题】有啥方法可以在 SwiftUI 中的可搜索导航修饰符上关闭自动更正/设置键盘类型【英文标题】:Is there any way to turn off autocorrection / set keyboard type on the searchable navigation modifier in SwiftUI有什么方法可以在 SwiftUI 中的可搜索导航修饰符上关闭自动更正/设置键盘类型 【发布时间】:2021-12-26 14:53:23 【问题描述】:

在 SwiftUI 中,您可以在 NavigationView 中的视图上设置 searchable modifier 以显示搜索栏。但是默认情况下,此搜索栏启用了自动更正功能,而且可能需要修改键盘或自动大写类型。

例如,这种自动更正导致我输入一些文本,点击一行以打开详细信息页面,然后它会弹回列表,因为它自动将我的搜索查询替换为自动更正的值。

Apple 的示例代码(实际上与我正在做的相同,减去 ListNavigationLinks):

var body: some View 
    NavigationView 
        PrimaryView()
        SecondaryView()
        Text("Select a primary and secondary item")
    
    .searchable(text: $text)

searchable 的定义/文档没有显示任何明显的方法。

在利用searchable 修饰符的便利性的同时,有什么方法可以做到这一点?

【问题讨论】:

【参考方案1】:

试试下面的

NavigationView 
    PrimaryView()
    SecondaryView()
    Text("Select a primary and secondary item")

.searchable(text: $text)
.disableAutocorrection(true)    // << here !!

【讨论】:

谢谢!还有.autocapitalization(.none)可以在同一个地方使用。

以上是关于有啥方法可以在 SwiftUI 中的可搜索导航修饰符上关闭自动更正/设置键盘类型的主要内容,如果未能解决你的问题,请参考以下文章

如何使用适当的可访问性修饰符覆盖 SwiftUI Picker

SwiftUI NavigationView 切换色调颜色

自定义“可搜索”搜索字段 SwiftUI iOS 15

SwiftUI 搜索栏与导航栏一致

抽象类中的抽象方法应该有啥访问修饰符?

有啥方法可以使用 SwiftUI 创建 BottomBar