如何解决SwiftUI TabView 更多选项卡崩溃第一次按下
var body: some View {
TabView {
ScheduleView().tabItem {
Image(systemName: "calendar")
Text("Schedule")
}.tag(tbScheduleTag)
DutyBookView().tabItem {
Image(systemName: "books.vertical")
Text(dutyBookViewTabText)
}.tag(tbDutyBookTag)
TimetableView().tabItem {
Image(systemName: "calendar.badge.clock")
Text("Timetable")
}.tag(tbTimetableTag)
**... plus 7 other Tabs removed for post readability**
}
}
我的 TabView 创建了 10 个标签,所以我会自动获得“更多”标签项。在应用程序启动后,我在其他任何事情之前按下更多选项卡,选项卡崩溃回初始选项卡。如果我先点击任何其他选项卡或再次点击更多选项卡,它会正常加载。演示见附件。第一次选择它第二次工作时崩溃。
大家有什么建议吗?
解决方法
我添加了 @State
变量并将其设置为 selection
的 TabView
属性。为了完成这项工作,我用新的 enum
值替换了您的标签。
struct ContentView: View {
enum Tab {
case schedule,dutyBook,timetable,locateTrain,settings
case tfLRestricted,subscription,serviceStatus,info,storedDuties
}
@State var tab: Tab = .schedule
var body: some View {
TabView(selection: self.$tab) { //this is the solution
ScheduleView().tabItem {
Image(systemName: "calendar")
Text("Schedule")
}.tag(Tab.schedule)
DutyBookView().tabItem {
Image(systemName: "books.vertical")
Text(dutyBookViewTabText)
}.tag(Tab.dutyBook)
// ...
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。