gpt4 book ai didi

ios - SwiftUI:点击 TabView 的选项卡时崩溃

转载 作者:行者123 更新时间:2023-12-05 07:08:58 35 4
gpt4 key购买 nike

我有一个带有 TabView 的屏幕,其中包含两个选项卡:

...

var body: some View {
TabView() {
ScreenViewOne().tabItem {
Image(systemName: "calendar")
Text("Screen one")
}.tag(0)
ScreenViewTwo().tabItem {
Image(systemName: "list.bullet")
Text("Screen two")
}.tag(1)
}
}

...

当我点击屏幕二选项卡时,应用程序崩溃并出现以下错误:

precondition failure: unknown attribute: 4294967295

如果我对两个选项卡使用相同的屏幕,如下所示,一切都按预期工作并且没有崩溃:

...

var body: some View {
TabView() {
ScreenViewOne().tabItem {
Image(systemName: "calendar")
Text("Screen one")
}.tag(0)
ScreenViewOne().tabItem {
Image(systemName: "list.bullet")
Text("Screen two")
}.tag(1)
}
}

...

更改屏幕顺序、内容等没有帮助。

最佳答案

原来是ScreenViewOne中的List元素有多个section引起的:

var body: some View {
List {
Section(header: Text("Section 1")) {
ForEach(items) { item in
Text("\(item)")
}
}
.backgroundColor(Color.white)
Section(header: Text("Section 2")) {
ForEach(items) { item in
Text("\(item)")
}
}
.backgroundColor(Color.white)
}

更具体地说,是由于 backgroundColor 修饰符的存在导致了该问题。

为了解决它,我删除了两个修饰符并在自定义 init 方法中实现了 UITableViewHeaderFooterView.appearance().tintColor = UIColor.clear:

init(factory: Factory) {
...

UITableViewHeaderFooterView.appearance().tintColor = UIColor.clear

...
}

关于ios - SwiftUI:点击 TabView 的选项卡时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61770870/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com