原由:項目中使用了flutter_boost,發現側滑時直接將flutter的整個VC給pop掉了,demo中flutter代碼跳轉到新的頁面也是使用openPage的方式打開,所以沒有這個問題,可是咱們不但願每個新的flutter都使用openPage方式打開(一是每次都新建一個VC浪費性能,二是會有閃爍的狀況出現),通過幾天時間不斷驗證改造,終於能夠算是階段性地解決了這個問題,在此作個記錄。git
先看改造後增長的流程: github
下面是具體增長的點bash
一、增長了一個導航的監聽,每次push和pop時都將flutter頁面的canPop值通知到原生。性能
二、增長了一個原生方法回調,原生調用時會通知原生界面當前的flutter頁面是否能夠pop。spa
一、在FLBPlatform中增長方法(接收到flutter對應的方法時會調用):code
- (void)flutterCanPop:(BOOL)canpop;
複製代碼
二、在FLBFlutterViewController的showFlutterView(至關於viewWillAppear)方法中增長獲取flutter的canPop的方法。orm
三、增長flutterCanPop對應的接收類NavigationService_flutterCanPop
cdn
將原來有flutter跳轉flutter頁面方式由openPage方式改成Router方式。blog
目前已經改造的代碼已合併到flutter_boost工程中。get