我有一个 SwiftUI 和 Core Data 应用程序,并实现了新的 iOS 15 搜索栏 API。
.searchable(text: $searchText) // This is a modifier under my List view
但是,搜索栏具有自动更正功能,当视图消失或用户提交时,它会意外地更改搜索(如果导航到详细视图并返回,甚至会发生这种情况)。总的来说,用户体验很差。
我在 Apple 文档中找不到任何用于在此搜索栏上禁用自动更正的内容(尽管使用
TextField
修饰符对于标准 .disableAutocorrect(true)
来说很容易完成)。
我使用了 iOS14 的 Swift 包,它提供了一个搜索栏(通过
UIViewRepresentable
),但如果可能的话,我宁愿使用第一方 API,所以我的问题特别与 SwiftUI .searchable
API 相关,该 API 是在 iOS 15 中引入的.
适用于 iOS 15
如果您在
disableAutocorrection(true)
之后设置 .searchable(text: $searchText)
,搜索栏的自动更正将被禁用。
List {
//
}
.searchable(text: $searchText)
.disableAutocorrection(true)
适用于 iOS 16+
从 iOS 16 开始,
disableAutocorrection
已弃用。所以需要用autocorrectionDisabled
来代替。
List {
//
}
.searchable(text: $searchText)
.autocorrectionDisabled(true)
disableAutocorrect
将在未来的 iOS 更新中弃用(当前版本:iOS 16.3)。使用 autocorrectionDisabled
代替:
List {
//
}
.searchable(text: $searchText)
.autocorrectionDisabled(true)