gpt4 book ai didi

ios - 如何在 SwiftUI 中自动检测 NavigationBarTitle displayMode 变为 .inline 或 .large?

转载 作者:行者123 更新时间:2023-11-29 05:21:30 26 4
gpt4 key购买 nike

我在 navigationView 中有一个 List,并且我想在列表出现时更改 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

最佳答案

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

它工作得很好。不过,我仍在寻找更好的解决方案。

关于ios - 如何在 SwiftUI 中自动检测 NavigationBarTitle displayMode 变为 .inline 或 .large?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58645623/

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