Tom*_*Tom 13 ios swift flutter
我有一个使用Flutter开发的应用程序,并且有一个UIViewController必须在本机IOS中实现(没有其他解决方法,这是必须的)
我已经实现了它,它可以根据第一个测试运行,但是我想仔细检查一下是否可以,因为我对Flutter不太熟悉,而且恐怕会使我有些混乱应用程序导航堆栈,将来可能会导致错误。
因此,我已经通过MethodChannel实现了它。我有一种方法,从“颤振侧”调用。我不在这里粘贴与MethodChannel相关的内容,因为它们很简单。
在我的AppDelegate didFinishLaunchingWithOptions中,我添加了以下内容:
let flutterViewController = FlutterViewController()
self.navigationController = UINavigationController(rootViewController: flutterViewController)
self.navigationController?.isNavigationBarHidden = true
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window.rootViewController = self.navigationController
self.window.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)
我的开放方法是这样的:
private func openNativeUI(result: FlutterResult) {
let sb = UIStoryboard(name: "Main", bundle: nil)
let uiController = sb.instantiateViewController(withIdentifier: "nativeui")
self.navigationController?.pushViewController(uiController, animated: true)
result(true)
}
Run Code Online (Sandbox Code Playgroud)
你怎么看?
非常感谢任何建议,并感谢您的提前帮助!
在创建跨平台应用程序时使用Native API完全可以,但是请确保没有其他方法可以实现您的目标。很多时候(当跨平台引擎/ SDK是新的时),除了使用本机代码来完成功能之外,您别无选择。
不确定您的目标,但跨平台引擎/ sdk(例如Flutter
)的常见问题是第三方SDK / API(例如Chartboost, Stripe, Twilio
)需要一些时间才能转换为您正在使用的引擎/ sdk,因此在无法使用时除了本地调用这些API外,别无选择。
发生其他问题是某些特定于平台的API,例如Camera,Contacts,In-App,GameCenter等未随跨平台SDK一起提供,或者花费一些时间来获取此类API的包装,因此在所有此类情况下,您都可以使用Native API 。
归档时间: |
|
查看次数: |
448 次 |
最近记录: |