gpt4 book ai didi

当单个非滚动项位于 VStack 中时,SwiftUI 不会折叠导航栏

转载 作者:行者123 更新时间:2023-12-04 13:33:42 24 4
gpt4 key购买 nike

当我滚动导航栏时,我遇到了一个问题,即导航栏没有折叠成一个小的问题,只有在 VStack 中有一个额外的“非滚动”项目时才会发生这种情况。 .
以下代码工作正常

var body: some View {
NavigationView {
VStack {
ScrollView {
LazyVStack {
ForEach(0..<100) { number in
Text("\(number)")
}
}
}
}
.navigationBarTitle("Home")
}
}
并运行如下:
enter image description here
但是当我在顶层添加其他东西时 VStack ,导航栏不再折叠。所以这段代码:
var body: some View {
NavigationView {
VStack {
SegmentedControl(selectedSegmentIndex: $currentTabIndex, segments: [.new, .new])
ScrollView {
LazyVStack {
ForEach(0..<100) { number in
Text("\(number)")
}
}
}
}
.navigationBarTitle("Home")
}
}
结果如下:
enter image description here
有没有办法将 ScrollView 的偏移量与导航栏折叠相关联?或者有其他解决方法吗?

最佳答案

折叠是 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")
}
}

关于当单个非滚动项位于 VStack 中时,SwiftUI 不会折叠导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63526291/

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