我有一个简单的 SwiftUI 应用程序。我正在使用带有动画的幻灯片菜单,它可以正常工作,但是当我添加 TabView 项目时,幻灯片菜单不起作用。在 image1 中,当单击幻灯片菜单时,它与 image2 一样工作,但是当我像 image3 一样添加 TabView 时,它不起作用。有什么想法吗?
截图:
内容视图:
workbook.setForceFormulaRecalculation(true);
答案 0 :(得分:1)
我认为问题在于您必须移动 TabBar 视图。所以基本上你需要在 TabBar 中使用 HomeView,然后像这样在 @State
改变时移动整个 TabBar ..:
var body: some View {
ZStack {
if isShowing {
Text("Custom View here")
}
TabView {
NavigationView {
HomeView()
.navigationBarItems(leading: Button(action: {
withAnimation(.spring()) {
isShowing.toggle()
}
} , label: {
Image(systemName: "list.bullet")
}))
}
.tabItem {
Image(systemName: "1.circle")
Text("Page 1")
}
NavigationView {
Text("Page Two")
.navigationBarTitle("Page Two")
}
.tabItem {
Image(systemName: "2.circle")
Text("Page 2")
}
}
.edgesIgnoringSafeArea(.bottom)
//.cornerRadius(isShowing ? 20 : 0) //<< disabled due to strange effect
.offset(x: isShowing ? 300 : 0, y: isShowing ? 44: 0)
.scaleEffect(isShowing ? 0.8 : 1)
}.onAppear {
isShowing=false
}
}
这绝对不是最优的,但我认为这是唯一最好的方法。但是,带有标签栏的动画可能与安全区域很奇怪。