swiftui - 在列表下方的 SwiftUI 导航侧边栏中声明底部区域

标签 swiftui sidebar sticky navigationsplitview

在下面的屏幕截图(取自 Apple Developer 应用程序)中,我们可以看到“帐户”按钮粘在侧边栏的底部。

当窗口足够高(左)时,列表不会滚动,帐户按钮的背景颜色没有区别。当窗口不够高(右)导致列表滚动时,帐户按钮会更改其背景颜色以显示关系。

无法探测列表的滚动位置。如何在 SwiftUI 中声明“帐户”按钮?

enter image description here

最佳答案

该应用程序是 UIKit 催化剂应用程序,侧边栏使用 scrollViewDidScroll ,它使用 contentSize 设置传递给子组件的 bottomButtonState UIHostingController (因此帐户按钮可以是 SwiftUI),我假设它在清晰或纯色背景之间切换。

我们无法在 SwiftUI 中获取滚动信息,但可能的解决方法是将虚拟 1 像素高的单元添加到列表底部,并使用其 onAppear 设置在底部 View 中使用的绑定(bind)以启用/禁用背景颜色应该达到同样的效果。

关于swiftui - 在列表下方的 SwiftUI 导航侧边栏中声明底部区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73844871/

相关文章:

SwiftUI 阻止 Divider 在 HStack 中垂直扩展

swift - 对象周围的填充

html - 如果元素大于屏幕高度,请勿使用粘性

swift - 合并接收器 : ignore receiveValue, 只需要完成

javascript - 如何向切换添加过渡?

html - 如何保持标题固定并仍然滚动?

html - 创建一个固定的侧边栏而不让它脱离流程

html - 带有粘性标题和水平滚动的表格

javascript - 解除绑定(bind)、销毁或删除先前声明的 jQuery 函数

swift - 我不明白我的代码中的 Property 'self.heading' not initialized at super.init 调用错误