因此QML StackView提供了一种通过pop()
函数使用向后导航的方法。我正在寻找一种方法,只需通过跟随用户手指(有点像SwipeView
)的UI元素向右滑动就可以到达上一页。我该如何实现?我环顾四周,我发现的只是这个https://github.com/alejoasotelo/SwipePageStackWindow,这是一个旧项目,与旧PageStack
做类似的事情。
一种可能的方法是创建一个名为swiper的自定义元素,该元素具有3页的swipeview。 1和3为空白,但2有内容。当页面1处于活动状态时,除非检测到向左滑动,否则它将允许所有事件通过。第2页有一个加载程序,因此您可以更改内容。
如果在彼此之上创建其中两个,则可以在需要切换视图时将它们移到另一个前面。两个加载程序意味着内容永远不会占用过多的内存。
所以您将拥有一个变量isBottomActive
和一种方法函数pushNewView(view)现在,如果您需要后退,只需向右滑动即可。滑动器视图索引更改(您可以在此处绑定方法,以使旧的滑动视图也以不同的视图移回到底部)