首页 > 解决方案 > 如何在 Flutter MaterialApp 中检测 iOS 向后滑动手势?

问题描述

我想检测用户何时在我的 iOS 应用程序中使用向后滑动手势。我该怎么做?

我创建了 CupertinoPageRoute,希望它能以某种方式与它一起工作......

    return MaterialApp(
        initialRoute: AllProductsScreen.id,

        onGenerateRoute: (RouteSettings settings) {
          switch (settings.name) {
            case AllProductsScreen.id:
              return CupertinoPageRoute(
                  builder: (_) => AllProductsScreen(), settings: settings);
            case ProductScreen.id:
              return CupertinoPageRoute(
                  builder: (_) => ProductScreen(), settings: settings);
            case FavoritesScreen.id:
              return CupertinoPageRoute(
                  builder: (_) => FavoritesScreen(), settings: settings);
            default:
              return CupertinoPageRoute(
                  builder: (_) => AllProductsScreen(), settings: settings);
          }
        },
      );

标签: iosflutterdartswipegesture

解决方案


您可以onWillPopcupertino_will_pop_scope库中使用。

@override
Widget build(BuildContext context) {
  return ConditionalWillPopScope(
    child: _MyScreenContent(),
    onWillPop: _onWillPop,
    shouldAddCallbacks: _hasChanges,
  );
}

推荐阅读