当我滚动时,我遇到一个问题,导航栏不会折叠成一个小导航栏,只有当VStack.
下面的代码工作正常
var body: some View {
NavigationView {
VStack {
ScrollView {
LazyVStack {
ForEach(0..<100) { number in
Text("\(number)")
}
}
}
}
.navigationBarTitle("Home")
}
}
Run Code Online (Sandbox Code Playgroud)
并运行如下:
但是当我在顶层添加其他内容时VStack,导航栏不再折叠。所以这段代码:
var body: some View {
NavigationView {
VStack {
SegmentedControl(selectedSegmentIndex: $currentTabIndex, segments: [.new, .new])
ScrollView {
LazyVStack {
ForEach(0..<100) { number in
Text("\(number)")
}
}
}
}
.navigationBarTitle("Home")
}
}
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
有没有办法将滚动视图的偏移量与导航栏折叠联系起来?或者还有其他解决方法吗?
崩溃是 的一种特殊行为NavigationView & ScrollView/List。所以如果你想要的话,把所有东西都放在里面ScrollView,比如
var body: some View {
NavigationView {
ScrollView {
VStack {
SegmentedControl(selectedSegmentIndex: $currentTabIndex,
segments: [.new, .new])
LazyVStack {
ForEach(0..<100) { number in
Text("\(number)")
}
}
}
}
.navigationBarTitle("Home")
}
}
Run Code Online (Sandbox Code Playgroud)