美文网首页
WillPopScope会阻止iOS返回手势?

WillPopScope会阻止iOS返回手势?

作者: 旺仔_100 | 来源:发表于2023-12-28 13:40 被阅读0次

项目中发现重写WillPopScope就会导致iOS无法手势回退。
在flutter的issue中发现有解决方案。https://github.com/flutter/flutter/issues/14203
解决思路是在iOS上监听滑动,并执行退出callback。

class MyWillPopScope extends StatelessWidget {
  const MyWillPopScope({
    required this.child,
    this.onWillPop,
    super.key,
  });

  final Widget child;
  final WillPopCallback? onWillPop;

  @override
  Widget build(BuildContext context) {
    return Platform.isIOS
        ? GestureDetector(
            onHorizontalDragUpdate: (details) {
              if (details.delta.dx > 0 && onWillPop != null) {
                onWillPop!.call();
              }
            },
            child: WillPopScope(
              onWillPop: onWillPop,
              child: child,
            ),
          )
        : WillPopScope(
            onWillPop: onWillPop,
            child: child,
          );
  }
}

相关文章

  • iOS 手势返回

    iOS 手势返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 全屏返回

    iOS 全屏返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 右滑返回

    iOS 右滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 侧滑返回

    iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 侧滑返回详解

    iOS 侧滑返回详解 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流A...

  • iOS 侧滑返回详解

    iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 全屏手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 右滑返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • BBGestureBack 手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 导航控制器手势滑动返回解决失效问题

    虽然iOS导航控制器自带手势滑动返回,但 有些情况下,iOS自带的手势返回效果会失效。解决这一问题,只需在基类的导...

网友评论

      本文标题:WillPopScope会阻止iOS返回手势?

      本文链接:https://www.haomeiwen.com/subject/ibodndtx.html