Flutter 将弹出内窥镜,在iOS中不工作

vfh0ocws  于 2023-03-09  发布在  Flutter
关注(0)|答案(1)|浏览(138)

如果我在flutter代码中使用will_pop_scope,那么它在android上运行起来会很完美,但在iOS上就不行了。任何其他第三方软件包或手势滑动也都不行。
如果任何人显示这篇文章从flutter社区,那么请帮助我从这个问题,并请修复这个问题从谷歌开发人员或框架flutter内部开发人员

lg40wkob

lg40wkob1#

将其作为顶层小部件,可能放在build函数中:

bool canNavigateBack = true;//This should come from a Stream/bloc/etc.

return WillPopScope(
        onWillPop: () {
          if (Platform.isAndroid) {
            if (canNavigateBack) {
              //Navigate back actions
            } else {
              //Show exit dialog, etc.
            }
          }
          return Future.value(false);
        },
        child: Platform.isIOS
            ? GestureDetector(
                onHorizontalDragEnd: (details) {
                  if (details.velocity.pixelsPerSecond.dx > 50) {
                    if (canNavigateBack) {
                      //Navigate back actions
                    } else {
                      //Show exit dialog, etc.
                    }
                  }
                },
                child: _anotherWidget())
            : _anotherWidget(),
      );

相关问题