SwiftUI 导航栏内联模式可搜索问题
SwiftUI navigation bar inline mode searchable issue
我注意到在我的应用程序中 inline
导航栏显示模式和 searchable
上使用 List
时有一个很大的问题。选择导航链接时,导航到推送的视图时会出现不希望看到的外观。使用 automatic
显示模式工作正常,我没有发现问题。
我不确定为什么仅在显示模式内联时会发生这种情况。我不想使用 LargeTitle
,我只是不喜欢它们的外观。这是错误还是我犯的错误。我在下面编写了可重现的代码,我们将不胜感激。
2022 年 4 月 5 日更新
自从我向 Apple 报告该问题以来已经 两周 了。除了使用 Xcode 13.2.1 之外,我一直无法找到任何类型的解决方案或临时解决方法,这在任何方面都不是修复方法。如果有人有任何提示,请发表评论。
看来 Xcode 13.3 是问题所在,我下载了 Xcode 13.2.1,它工作正常。我已经报告了这个问题。您可以看到相同的代码在以前的版本中运行良好。所以任何高于 iOS 15.2 的东西都坏了,做同样的事情。
Xcode 13.3 BUG
Xcode 13.2.1 工作
enum Test: String, CaseIterable, Identifiable {
case one
case two
case three
case four
var id: Self { self }
}
struct ContentView: View {
@State var search: String = ""
var body: some View {
NavigationView {
List(search.isEmpty ? Test.allCases : Test.allCases.filter{[=10=].rawValue.localizedCaseInsensitiveContains(search)}, id: \.self) { item in
NavigationLink(destination: Text(item.rawValue)) {
Text(item.rawValue)
}
}
.searchable(text: $search, placement: .navigationBarDrawer(displayMode: .always), prompt: "Search")
.navigationTitle("Searchable")
.navigationBarTitleDisplayMode(.inline)
}
}
}
我找到了一个简单的解决方法,下载 Xcode 13.2.1。在 iOS 15.4+ 上 运行 时没有错误。从 13.3 之前的 Xcode 版本编译似乎可以解决问题。我以为我需要最新版本的 Xcode 才能提交 App Store。
我注意到在我的应用程序中 inline
导航栏显示模式和 searchable
上使用 List
时有一个很大的问题。选择导航链接时,导航到推送的视图时会出现不希望看到的外观。使用 automatic
显示模式工作正常,我没有发现问题。
我不确定为什么仅在显示模式内联时会发生这种情况。我不想使用 LargeTitle
,我只是不喜欢它们的外观。这是错误还是我犯的错误。我在下面编写了可重现的代码,我们将不胜感激。
2022 年 4 月 5 日更新
自从我向 Apple 报告该问题以来已经 两周 了。除了使用 Xcode 13.2.1 之外,我一直无法找到任何类型的解决方案或临时解决方法,这在任何方面都不是修复方法。如果有人有任何提示,请发表评论。
看来 Xcode 13.3 是问题所在,我下载了 Xcode 13.2.1,它工作正常。我已经报告了这个问题。您可以看到相同的代码在以前的版本中运行良好。所以任何高于 iOS 15.2 的东西都坏了,做同样的事情。
Xcode 13.3 BUG
Xcode 13.2.1 工作
enum Test: String, CaseIterable, Identifiable {
case one
case two
case three
case four
var id: Self { self }
}
struct ContentView: View {
@State var search: String = ""
var body: some View {
NavigationView {
List(search.isEmpty ? Test.allCases : Test.allCases.filter{[=10=].rawValue.localizedCaseInsensitiveContains(search)}, id: \.self) { item in
NavigationLink(destination: Text(item.rawValue)) {
Text(item.rawValue)
}
}
.searchable(text: $search, placement: .navigationBarDrawer(displayMode: .always), prompt: "Search")
.navigationTitle("Searchable")
.navigationBarTitleDisplayMode(.inline)
}
}
}
我找到了一个简单的解决方法,下载 Xcode 13.2.1。在 iOS 15.4+ 上 运行 时没有错误。从 13.3 之前的 Xcode 版本编译似乎可以解决问题。我以为我需要最新版本的 Xcode 才能提交 App Store。