[英]Swipe to go back not working in flutter webview in ios
试过 flutter webview。 实施WillPopScope
以控制参考此示例的后压。 在 android 滑动到 go 后退手势有效,但在 ios 它不起作用。 这不会检测手势。 如何解决这个问题?
代码:
WebViewController controllerGlobal;
Future<bool> _exitApp(BuildContext context) async {
print('back press');
if (await controllerGlobal.canGoBack()) {
print("onwill goback");
controllerGlobal.goBack();
} else {
Scaffold.of(context).showSnackBar(
const SnackBar(content: Text("No back history item")),
);
return Future.value(false);
}
}
class _MyAppState extends State<MyApp> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () => _exitApp(context),
child: Scaffold(
body: SafeArea(
child: Builder(
builder: (BuildContext context) {
return WebView(
initialUrl: 'https://flutter.dev',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
onPageFinished: (String url) {
print('Page finished loading: $url');
},
);
},
),
),
),
);
}
}
注意:仅在 ios 模拟器中测试
WillPopScope 会导致这种情况。 在https://github.com/flutter/flutter/issues/14203中查看更多详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.