【问题标题】:SwiftUI: Navigation Title Stuck in Place (Scroll Animation Broken) for List in NavigationViewSwiftUI:NavigationView 中列表的导航标题卡在适当的位置(滚动动画损坏)
【发布时间】:2020-04-09 11:53:06
【问题描述】:

我创建了一个包裹在 NavigationView 中的 SwiftUI List。列表的标题以默认方式设置并且显示良好:.navigationBarTitle("My Title")。问题是滚动行为被破坏了。

也就是说,当滚动列表时,大标题应该消失,以便让导航栏与小标题一起出现。然而,大标题只是卡在原地不动,而列表以一种看起来有问题的方式在它后面滚动时不会移动。

【问题讨论】:

    标签: list animation swiftui navigationbar navigationview


    【解决方案1】:

    事实证明,设置List 的背景会破坏滚动行为。也就是说,删除List 上的.background(Color.red) 使滚动行为恢复正常。

    【讨论】:

    • 这也发生在我身上,但我没有名单上的背景。我只有.listStyle(GroupedListStyle())。删除它并不能解决问题。
    • @riciloma 您的列表是包裹在堆栈中还是导航视图中的根视图?例如,如果它在 VStack 中,如果它不是堆栈中的顶部项目,这似乎会发生。换句话说,如果事情发生在它之前,我相信这会发生。尝试删除包含视图和/或重新排列它们以查看您得到的结果。
    • 我在 iOS 15 Beta 2 上运行我的 iOS 14 编译应用时遇到了这个问题,删除 .background 修饰符有效!在 iOS 14 上运行的 iOS 14 编译的应用程序没有问题,在 iOS 15 上运行的 iOS 15 编译的应用程序也没有问题。我已经提交了雷达。
    • @josephap 我有这个问题,因为我有一个自定义 searchBar 视图堆叠在列表顶部,包含在 VStack 中。 iOS 15 中有一种新的可搜索方法可以消除此错误,但在可预见的将来我仍然需要支持 iOS 14。知道如何在 iOS 14 和 SwiftUI 2 中解决这个问题吗?
    猜你喜欢
    • 2021-02-10
    • 1970-01-01
    • 2021-06-12
    • 2014-10-16
    • 2011-09-17
    • 2011-07-28
    • 2015-08-17
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多