首页 > 解决方案 > 使用 Flutter Boost 在同一视图上显示多个颤振片段的最佳实践(在现有的 ios 应用程序上)

问题描述

我对 Flutter 很陌生,并且我一直在研究 Hybrid Flutter 项目。我必须解决的主要任务是在同一页面上显示多个颤振片段。我们在应用程序的导航栏部分有一个 Flutter 搜索组件,我们想在应用程序的主页上添加另一个 Flutter 片段,如屏幕截图所示。

样本

我们在 IOS 上使用 Flutter Boost 实例化一个 Flutter 片段,如下所示;

搜索栏(目标 C);

_flutterContainer = [[FLBFlutterViewContainer alloc]init];
_flutterContainer.view.frame = CGRectMake(0, [[UIApplication sharedApplication] statusBarFrame].size.height, SCREEN_WIDTH, self.navigationController.navigationBar.frame.size.height+70);
[_flutterContainer setName:@"search_bar" params:params];
[self.view addSubview:_flutterContainer.view];

对于横幅(非常类似于 search_bar 除了颤振容器名称);

_flutterContainer2 = [[FLBFlutterViewContainer alloc]init];
_flutterContainer2.view.frame = CGRectMake(0, [[UIApplication sharedApplication] statusBarFrame].size.height, SCREEN_WIDTH, self.navigationController.navigationBar.frame.size.height+70);
[_flutterContainer2 setName:@"main_banner" params:params];
[self.view addSubview:_flutterContainer.view];

由于我们在同一页面上实例化 2 个片段,因此我们收到以下错误。

The supplied FlutterEngine <FlutterEngine: 0x600002a36900> is already used with FlutterViewController instance <FLBFlutterViewContainer: 0x7ff736038800>. One instance of the FlutterEngine can only be attached to one FlutterViewController at a time. Set FlutterEngine.viewController to nil before attaching it to another FlutterViewController.

有没有办法解决这个问题?提前致谢。

颤振版本:1.17.1

标签: iosxcodeflutterdart

解决方案


推荐阅读