gpt4 book ai didi

ios - Flutter 使用嵌套导航器向后滑动手势

转载 作者:行者123 更新时间:2023-12-04 04:01:20 25 4
gpt4 key购买 nike

我有一个主导航器可以插入其他子导航器,但是如果我从子导航器推送一条路线,在 iOS 上,当我从打开的小部件向后滑动时,它会返回到主导航器根目录,而不是转到子小部件的根目录,那么我如何首先使用滑动手势处理子导航器的历史记录,并且仅当我在子导航器的根上(就像单个导航器)时才允许返回主导航器?
这是主导航器:

class MenuNavigator extends StatelessWidget {
final GlobalKey<NavigatorState> navigatorKey;

const MenuNavigator({Key key, this.navigatorKey}) : super(key: key);

WidgetBuilder routeBuilder(
RouteSettings routeSettings, GetUserResponse userResponse) {
switch (routeSettings.name) {
case MenuNavigatorRoutes.root:
return (context) => MenuPage();
case MenuNavigatorRoutes.documents:
return (context) => DocumentsNavigator();
case MenuNavigatorRoutes.requests:
return (context) => RequestsNavigator();
default:
return null;
}
}

@override
Widget build(BuildContext context) {
return Navigator(
key: navigatorKey,
initialRoute: MenuNavigatorRoutes.root,
onGenerateRoute: (routeSettings) {
return MaterialPageRoute(
settings: routeSettings,
builder: (context) =>
routeBuilder(routeSettings, userResponse)(context));
},
);
}
}
DocumentsNavigator 和 RequestsNavigator 是子导航器,具有与 MenuNavigator 相同的结构,但处理其他路由。

最佳答案

我刚刚发现,如果您将嵌套导航器包装为:

WillPopScope(
child: NestedNavigator(initialRoute: ...),
onWillPop: () async =>
!Navigator.of(context).userGestureInProgress));
有用!

关于ios - Flutter 使用嵌套导航器向后滑动手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63034543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com