Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一级Flutter页面里面加载了一个由native测提供的FlutterPlatformView ,当一级页面 push 或者 present 一个新的Flutter(有native的Container做容器)页面后,FlutterPlatformView视图部分会显示空白 #2173

Closed
wxwlcp opened this issue Jan 13, 2025 · 3 comments

Comments

@wxwlcp
Copy link

wxwlcp commented Jan 13, 2025

请描述遇到的问题,以及您所期望的正确的结果

触发了AndroidView,UiKitView的创建,但是native测create FlutterPlatformView 的方法并未执行。

请说明如何操作会遇到上述问题

No response

在下面填入关键复现代码

static Widget _getPluginView({required String viewTag, required String symbol}) {
    if (defaultTargetPlatform == TargetPlatform.android) {
      return AndroidView(
        gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{
          Factory<OneSequenceGestureRecognizer>(() => PanGestureRecognizer()),
          Factory<HorizontalDragGestureRecognizer>(() => HorizontalDragGestureRecognizer()),
          // Factory<VerticalDragGestureRecognizer>(() => VerticalDragGestureRecognizer()),
          Factory<TapGestureRecognizer>(() => TapGestureRecognizer()),
          Factory<ScaleGestureRecognizer>(() => ScaleGestureRecognizer()),
          Factory<LongPressGestureRecognizer>(() => LongPressGestureRecognizer()),
        },
        viewType: viewTag,
        creationParams: {'currency_pair': symbol},
        creationParamsCodec: const StandardMessageCodec(),
      );
    } else {
      return UiKitView(
        gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{
          Factory<OneSequenceGestureRecognizer>(() => PanGestureRecognizer()),
          Factory<HorizontalDragGestureRecognizer>(() => HorizontalDragGestureRecognizer()),
          // Factory<VerticalDragGestureRecognizer>(() => VerticalDragGestureRecognizer()),
          Factory<TapGestureRecognizer>(() => TapGestureRecognizer()),
          Factory<ScaleGestureRecognizer>(() => ScaleGestureRecognizer()),
          Factory<LongPressGestureRecognizer>(() => LongPressGestureRecognizer()),
        },
        viewType: viewTag,
        creationParams: {'currency_pair': symbol},
        creationParamsCodec: const StandardMessageCodec(),
      );
    }
  }



func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
        return MPKLineChartUnitView(frame: frame, viewId: viewId, arguments: args, messenger: messenger, viewTag: self.viewTag)
    }
    
    func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
        return FlutterStandardMessageCodec.sharedInstance()
    }

复现的平台

iOS

Flutter SDK版本

3.22.3

FlutterBoost版本

4.6.5

是否延迟初始化FlutterBoost

No

解决方案

@wxwlcp wxwlcp changed the title [Bug]: FlutterPlatformView 在一级Flutter页面,push 或者 present 一个新的Flutter页面后,会显示空白 一级Flutter页面里面加载了一个由native测提供的FlutterPlatformView ,当一级页面 push 或者 present 一个新的Flutter页面后,FlutterPlatformView视图部分会显示空白 Jan 13, 2025
@wxwlcp wxwlcp changed the title 一级Flutter页面里面加载了一个由native测提供的FlutterPlatformView ,当一级页面 push 或者 present 一个新的Flutter页面后,FlutterPlatformView视图部分会显示空白 一级Flutter页面里面加载了一个由native测提供的FlutterPlatformView ,当一级页面 push 或者 present 一个新的Flutter(有native的Container做容器)页面后,FlutterPlatformView视图部分会显示空白 Jan 13, 2025
@joechan-cq
Copy link
Collaborator

触发了AndroidView,UiKitView的创建,但是native测create FlutterPlatformView 的方法并未执行。

这个不太可能出现吧,是否有能够复现的Demo

@joechan-cq joechan-cq added the demo code needed we hope you can provide demo code label Jan 22, 2025
@joechan-cq joechan-cq removed the demo code needed we hope you can provide demo code label Feb 19, 2025
@joechan-cq
Copy link
Collaborator

no response

@joechan-cq joechan-cq closed this as not planned Won't fix, can't repro, duplicate, stale Feb 19, 2025
@wxwlcp
Copy link
Author

wxwlcp commented Feb 21, 2025

项目有点大,我后面写个demo出来吧,确实是出现了的,iOS TabBar下面的一个控制器是集成的Flutter页面,这个页面内部刚好又有一个native提供的view。当Flutter那边触发一个从底部弹出的弹窗后,PlatformView就空白了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants