改flutter_boost,兼容iOS页面滑动的解决方案
flutter_boost 项目中使用了flutter_boost,发现页面滑动时Flutter的整个VC直接落到了pop,demo中的flutter代码跳转到了新的页面使用openPage。打开,这样就不存在这个问题了,但是我们不希望每一个新的flutter都用openPage方法打开(一是每次都创建一个新的VC,浪费性能,二是会闪烁),经过一次经过几天的不断验证和改造,这个问题终于可以阶段性解决了,在此做一下记录。
具体方案
首先看改造后的附加流程:
以下是具体附加点
颤振方面
1。添加了导航手表,每次推送和pop都会添加。 flutter 页面的 canPop 值被传达给原生。
2。添加了本机方法回调。调用native方法时,会通知native接口当前Flutter页面是否可以下载。
iOS
1。在FLBPlatform中添加一个方法(获取Flutter对应的方法时调用):
- (void)flutterCanPop:(BOOL)canpop;
复制代码
2。在FLBFlutterViewController的ShowFlutterView(相当于viewWillAppear)方法中添加获取Flutter的CanPop的方法。
3。添加flutterCanPop对应的receiver类NavigationService_flutterCanPop
demo中
将原来的flutter跳转flutter page方式从openPage改为router。
修改后的效果

作者:gzhong Cheng
链接:https://juejin.im/post/5cf8e4b96fb9a07ed440f1d8ets来源:商业转载请联系求作者授权。非商业转载请来源。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。