我在List
中有一个navigationView
,并且我想在滚动列表并使List
变成{{时更改Section
navigationBarTitle
文本1}}或.inline
这是我的代码:
.large
如何确定import SwiftUI
struct ContentView: View {
@State private var scrolledUp = false
var body: some View {
NavigationView {
if scrolledUp {
List {
Section(header: Text("Moved UP"))
{
Text("Line1").bold()
Text("Line2").bold()
Text("Line2").bold()
}
.navigationBarTitle("Setting")
}
} else {
List {
Section(header: Text("Not Moved"))
{
Text("Line1").bold()
Text("Line2").bold()
Text("Line2").bold()
}
}
.navigationBarTitle("Setting")
}
}
}
}
已滚动并且list
更改为navigationBar
?
答案 0 :(得分:0)
现在,我使用geometryReader
来检测List
section
header
的y位置。在滚动过程中。如果位置小于80,则navigationBarTitle
更改为.title
。
它完美地工作。但是,我仍在寻找更好的解决方案。