在下面的屏幕截图(取自 Apple Developer 应用程序)中,我们可以看到“帐户”按钮粘在侧边栏的底部。
当窗口足够高(左)时,列表不会滚动,帐户按钮的背景颜色没有区别。当窗口不够高(右)导致列表滚动时,帐户按钮会更改其背景颜色以显示关系。
无法探测列表的滚动位置。如何在 SwiftUI 中声明“帐户”按钮?
最佳答案
该应用程序是 UIKit 催化剂应用程序,侧边栏使用 scrollViewDidScroll
,它使用 contentSize
设置传递给子组件的 bottomButtonState
UIHostingController
(因此帐户按钮可以是 SwiftUI),我假设它在清晰或纯色背景之间切换。
我们无法在 SwiftUI 中获取滚动信息,但可能的解决方法是将虚拟 1 像素高的单元添加到列表底部,并使用其 onAppear 设置在底部 View 中使用的绑定(bind)以启用/禁用背景颜色应该达到同样的效果。
关于swiftui - 在列表下方的 SwiftUI 导航侧边栏中声明底部区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73844871/