作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 flutter 应用程序中,我想控制 IOS 的弹出范围,但它不起作用。我没有像建议的一些示例那样使用 PageRoute 和 CupertinoWillPopScope包无法正常工作,它会抛出anchorpoint
错误。那么有人可以帮我吗?
我尝试了 IOS 的 gestureDetector
,但它没有触发上一页的操作,而这正是我想要做的。
if (!Platform.isIOS) {
return WillPopScope(
onWillPop: () async {
timerController.startTimer();
!Navigator.of(context).userGestureInProgress;
return true;
},
child: MyPage(),
);
} else {
return GestureDetector(
onHorizontalDragUpdate: (details) {
int sensitivity = 8;
if (details.delta.dx > sensitivity) {
// Right Swipe
//timerController.startTimer();
} else if (details.delta.dx < -sensitivity) {
//Left Swipe
timerController.startTimer();
}
},
child: MyPage(),
);
}
最佳答案
问题尚未解决,请在 GitHub 中查看:here
我为 WillPopScope
制作了自定义类,它对我有用,我希望它也对您有用。
class MyWillPopScope extends StatelessWidget {
MyWillPopScope({required this.child, this.onWillPop = false, Key? key}) : super(key: key);
final Widget child;
final bool onWillPop;
@override
Widget build(BuildContext context) {
return Platform.isIOS ?
GestureDetector(
onPanUpdate: (details) {
if (details.delta.dx > 0) {
if(onWillPop){
Navigator.of(context).pop();
}
}
},
child: WillPopScope(
onWillPop: ()async{
return false;
},
child: child,
)
)
: WillPopScope(child: child, onWillPop: () async {
return onWillPop;
});
}
}
关于android - WillPopScope 不适用于 Flutter 中的 IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74419860/
我是一名优秀的程序员,十分优秀!