我有两个滚动视图放置在NavigationView
. onAppear
我希望两个 ScrollViews 都继承修饰符中提到的颜色。
但是,当我导航到第二个 ScrollView 并返回到第一个 ScrollView 时,第一个视图继承了第二个 ScrollView 颜色。
struct ScrollView1: View {
var body: some View {
NavigationView {
ScrollView {
NavigationLink(destination: ScrollView2()) {
Text("First View").padding()
}.frame(maxWidth: .infinity)
}.navigationBarTitle("First")
.onAppear {
UIScrollView.appearance().backgroundColor = UIColor.green
}
}
}
}
struct ScrollView2: View {
var body: some View {
ScrollView {
Text("Second View").frame(maxWidth: .infinity)
}
.onAppear {
UIScrollView.appearance().backgroundColor = UIColor.gray
}
}
}
有谁知道我的第一个 ScrollView 将如何始终继承绿色和第二个灰色?
通过包装在 ZStack 中添加 ScrollView 颜色不会在滚动时将 NavigationBar 从大折叠到内联。
是否有任何其他解决方案可以同时实现这两者,即保留导航栏反弹行为以及 ScrollView 颜色。