setAllowsBackForwardNavigationGestures 在 flutter webview 中不起作用

问题描述 投票:0回答:1

我正在使用

webview_flutter plugin: ^4.2.0

webview_flutter_wkwebview: ^3.4.2

这是我的问题,我的 iPhone 滑动根本无法返回上一页。不明白为什么?也许你有一些想法?

这是我的代码

final _key = UniqueKey();
late final WebViewController webViewController;
void initState() {
    super.initState();
    webViewController = WebViewController();
    if (webViewController is WebKitWebViewController) {
      (webViewController as WebKitWebViewController)
          .setAllowsBackForwardNavigationGestures(true);
    }
    webViewController
      ..enableZoom(false)
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..loadRequest(Uri.parse(url));
  }

WebViewWidget(
                  controller: webViewController,
                  key: _key,
                )

Android 上一切正常

我刚从版本 3 移动到版本 4+,在版本三中,我会这样做 -

gestureNavigationEnabled: true

那会很好用。

ios flutter dart webview
1个回答
0
投票

gestureNavigationEnabled
属性在
webview_flutter plugin 4.0.0
.

之后被删除

如果你想在 iPhone 中使用滑动手势进行导航,你可以使用

setAllowsBackForwardNavigationGestures
方法代替。

final _key = UniqueKey();
late final WebViewController webViewController;

void initState() {
  super.initState();
  webViewController = WebViewController();
  if (webViewController is WebKitWebViewController) {
    (webViewController as WebKitWebViewController)
        .setAllowsBackForwardNavigationGestures(true);
  }
  webViewController
    ..enableZoom(false)
    ..setJavaScriptMode(JavaScriptMode.unrestricted)
    ..loadRequest(Uri.parse(url));
}

WebViewWidget(
  controller: webViewController,
  key: _key,
)
© www.soinside.com 2019 - 2024. All rights reserved.