1

我有一个List内部 anavigationView并且我想在List Section滚动列表时更改文本并且navigationBarTitle成为.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更改为.title

4

1 回答 1

0

现在我用来geometryReader检测List section header. 在滚动期间。如果位置小于 80,navigationBarTitle则更改为.title

它完美地工作。但是,我仍在寻找更好的解决方案。

于 2019-11-02T06:59:23.027 回答