我正在尝试创建一个SwiftUI Scrollview,它可以像这样拖动它的容器:https://drive.google.com/file/d/1O92DgsVI1OjM1HEUXUwVywB8gcdShOP-/view?usp=sharing
许多苹果应用程序使用这个(苹果Map,音乐,钱包等),但我还没有找到一个简单的方法来做到这一点与SwiftUI。你认为简单地实现这一点的最佳方法是什么?
我已经看过了这里的大多数库https://github.com/search?q=swiftui+drawer,但是没有一个实现了抽屉,里面有一个可以拖动视图的ScrollView。
我还尝试将自定义UIScrollView实现为UIViewRepresentable,并尝试调整scrollViewWillBeginDraging(),但无法使其工作。
5条答案
按热度按时间vwoqyblh1#
以下用于在整个应用程序中应用
ryevplcw2#
检查SheeKit库,其中支持原生工作表的行为。
您可以在medium上阅读有关in this story的实现。此外,你可以在故事的结尾找到演示视频。
如果你需要一个高级的原生SwiftUI滚动视图,支持内容偏移跟踪和其他类似于UIKit的可配置性,请检查SolidScroll库及其背后的story。
wi3ka0sx3#
我遇到了同样的问题,遇到了FloatingPanel包。repo包含一个example,用于将其应用于SwiftUI应用程序。
5cg8jx4n4#
好吧,我在自己开发drawer package时遇到了这个问题,我相信我能够使用遗留的
UIscrollView
和UIViewRepresentable
Package 器解决这个问题。如果你想使用你之前已经拥有的包,这里是我最终做的:
在我的抽屉里,我添加了这个LegacyScrollView Package 器。
使用这个 Package 器,我能够访问UIScrollView的
gestureRecognizerShouldBegin(_:)
,并通过SwiftUI修饰符覆盖它Result
mnemlml85#