Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在Cupertinotabar视图内外导航_Flutter_Flutter Layout - Fatal编程技术网

Flutter 在Cupertinotabar视图内外导航

Flutter 在Cupertinotabar视图内外导航,flutter,flutter-layout,Flutter,Flutter Layout,这是我在Flitter中的第一个应用程序,现在我的速度有点慢,一切都很顺利 我无法按照我在图像上显示的方式在CupertinoTabBar和我的登录显示(不应该有)之间导航 登录工作正常,当从服务器收到200响应时,使用CupertinoTabBar导航到视图 但是当我按下注销按钮时,我需要返回到loginView,没有任何选项卡 我能够导航回登录的唯一方法是: Navigator.push(上下文,CupertinoPageRoute(builder:(context)=>LoginView(

这是我在Flitter中的第一个应用程序,现在我的速度有点慢,一切都很顺利

我无法按照我在图像上显示的方式在CupertinoTabBar和我的登录显示(不应该有)之间导航

登录工作正常,当从服务器收到200响应时,使用CupertinoTabBar导航到视图

但是当我按下注销按钮时,我需要返回到loginView,没有任何选项卡

我能够导航回登录的唯一方法是:

Navigator.push(上下文,CupertinoPageRoute(builder:(context)=>LoginView(),)

这使我的LoginView保持在窗口小部件堆栈中的选项卡栏中,更糟糕的是,如果我再次登录,我最终会在上一个选项卡栏上堆叠另一个选项卡栏

有什么更好的方法可以做到这一点

非常感谢,,
Gabi

您可以使用
push和moveuntil
弹出堆栈中不需要的路由。您可能希望删除所有这样的路由:

Navigator.of(context).pushandremoveintil(CupertinoPageRoute(builder:(context)=>LoginView(),(r)=>false);
或者,如果您当前的路由是注销,您可以将其替换为登录路由,并且路由堆栈将保持不变:

Navigator.of(context).pushReplacement(CupertinoPageRoute(builder:(context)=>LoginView());

您可以使用
push和moveuntil
弹出堆栈中不需要的路由。您可能希望删除所有这样的路由:

Navigator.of(context).pushandremoveintil(CupertinoPageRoute(builder:(context)=>LoginView(),(r)=>false);
或者,如果您当前的路由是注销,您可以将其替换为登录路由,并且路由堆栈将保持不变:

Navigator.of(context).pushReplacement(CupertinoPageRoute(builder:(context)=>LoginView());

谢谢!!你的解决方案不起作用,因为导航器没有问题,我错了。我在登录屏幕上混合了Scaffold和另一个屏幕上的cupertinobstaffold,作为父窗口小部件。现在,我已经简化了脚手架下的Cupertinotabar,它工作得很好。谢谢!!你的解决方案不起作用,因为导航器没有问题,我错了。我在登录屏幕上混合了Scaffold和另一个屏幕上的cupertinobstaffold,作为父窗口小部件。现在,我已经简化了脚手架下的Cupertinotabar,效果很好。