修改flutter_boost,兼容iOS侧滑的一个解决方案

2019-06-1513:29:44APP与小程序开发Comments3,629 views字数 710阅读模式

项目中使用了flutter_boost,发现侧滑时直接将flutter的整个VC给pop掉了,demo中flutter代码跳转到新的页面也是使用openPage的方式打开,因此没有这个问题,但是我们不希望每一个新的flutter都使用openPage方式打开(一是每次都新建一个VC浪费性能,二是会有闪烁的情况出现),经过几天时间不断验证改造,终于可以算是阶段性地解决了这个问题,在此做个记录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

具体方案

先看改造后增加的流程:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

修改flutter_boost,兼容iOS侧滑的一个解决方案

下面是具体增加的点文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

flutter方面

1、增加了一个导航的监听,每次push和pop时都将flutter页面的canPop值通知到原生。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

2、增加了一个原生方法回调,原生调用时会通知原生界面当前的flutter页面是否可以pop。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

iOS方面

1、在FLBPlatform中增加方法(接收到flutter对应的方法时会调用):文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

- (void)flutterCanPop:(BOOL)canpop;
复制代码

2、在FLBFlutterViewController的showFlutterView(相当于viewWillAppear)方法中增加获取flutter的canPop的方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

3、增加flutterCanPop对应的接收类NavigationService_flutterCanPop文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

Demo中

将原来有flutter跳转flutter页面方式由openPage方式改为Router方式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

修改后的效果

修改flutter_boost,兼容iOS侧滑的一个解决方案

作者:gzhongcheng
链接:https://juejin.im/post/5cf8e4b96fb9a07ed440f1d8
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13655.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/xcx/13655.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定