如果我使用WillPopScope用新的路由覆盖BackButton行为,则可以正常工作。但是在iOS上,自动的“向后滑动”手势不再起作用。如何在iOS上设置SwipeBack手势,以将当前屏幕推送到“ StartScreen”类的页面?
WillPopScope(onWillPop: (){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => StartScreen(),
),
);
}
答案 0 :(得分:0)
这可能是一个很晚的答案,但是目前尚无明确的机会来听这个手势
当您按下后退按钮时,您可以实现对onWillPop的调用,同时,如果您将ModalRoute类的后代类(或其后代(例如MaterialPageRoute))制成并覆盖< strong> hasScopedWillPopCallback 方法(但是,手势不会调用onWillPop)
答案 1 :(得分:0)
git worktree
并不影响导航(即:在导航器上推送路线)。当您不希望用户离开当前路线时,它用于否决(阻止)离开当前路线的导航。 (例如,当它可能导致数据丢失时。)
我最近发布了一个可解决此问题的软件包,因为我对WillPopScope
的当前行为有类似的问题。该程序包称为CupertinoWillPopScope,它使您可以有条件地否决后退导航。因此,例如,只有在存在实际损失风险时,您才能阻止它。