博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flutter setInitialRoute: 不生效
阅读量:4670 次
发布时间:2019-06-09

本文共 1519 字,大约阅读时间需要 5 分钟。

概述

需要实现native跳转到flutter 指定的路由页面。

 

iOS 工程中发现 FlutterViewController  setInitialRouter 无效,在我的需求里面是: 在iOS现有工程集成flutter项目,然后可以跳转到任意的 业务页面。

在iOS 之中实例化页面有两种方式,如下:

1. 通过全局统一的方式进行实例子化:(无效)

swift 代码:

@objc func handleButtonAction() {        let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine        let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)!        flutterViewController.setInitialRoute("test1")        self.navigationController?.pushViewController(flutterViewController, animated: true)    }

这种方式显示效果最好,app 已启动,就会直接加载数据,是我所需要的一种,渲染效果几乎和native 一致,毫无违和感,交互非常流畅。

但是如果我想之前跳转到指定页面如:“test1” 路由页面,却发现不起作用

 

2、通过全局统一pushrouter方式:(有效,效果差)

swift pushRouter:

@objc func handleButtonAction() {        let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine        let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)!        flutterViewController.pushRoute("test1")        self.navigationController?.pushViewController(flutterViewController, animated: true)    }

上面代码虽然有效,但是效果不是很好,而且有明显的push 状态。所以不是我们想要的

3、通过new FlutterViewController 方式设置(有效)

@objc func handleButtonAction2(){        let flutterViewController = FlutterViewController()        flutterViewController.setInitialRoute("test1")                self.navigationController?.pushViewController(flutterViewController, animated: true)    }

有效,但是每次渲染都有一闪的效果,在交互上比native差一点。

 

转载于:https://www.cnblogs.com/kingbo/p/11237111.html

你可能感兴趣的文章
String s String s=null和String s="a"区别
查看>>
[Alpha阶段]第二次Scrum Meeting
查看>>
关于Java 8 forEach
查看>>
.NET设计模式(1):1.1 单例模式(Singleton Pattern)
查看>>
创建模态对话框和非模态对话框
查看>>
08-图8 How Long Does It Take
查看>>
二维数组中最大连通子数组
查看>>
java 正则表达式-忽略大小写与多行匹配
查看>>
mac 上亚马逊密钥登录
查看>>
css选择器中:first-child与:first-of-type的区别
查看>>
nopcommerce 二次开发
查看>>
NHibernate入门实例
查看>>
IBM_DS5020磁盘阵列做raid、热备并把盘阵挂在服务器上的步骤
查看>>
svg制作风车旋转
查看>>
《软件工程》课堂作业:返回一个整数数组中最大字数组的和
查看>>
ACM 美素数 (没AC)
查看>>
Sqlserver学习研究
查看>>
VTK图形模型主要对象
查看>>
c# Linq实现 获得某一个路径下所有文件的名(不含扩展名)
查看>>
动静态广播的区别
查看>>