|
31 | 31 | @interface FLBFlutterApplication() |
32 | 32 | @property (nonatomic,strong) FLBFlutterContainerManager *manager; |
33 | 33 | @property (nonatomic,strong) id<FLBFlutterProvider> viewProvider; |
| 34 | +@property (nonatomic, weak, readonly)FlutterViewController * previousViewController; |
34 | 35 | @property (nonatomic,assign) BOOL isRunning; |
35 | 36 | @property (nonatomic,strong) NSMutableDictionary *pageResultCallbacks; |
36 | 37 | @property (nonatomic,strong) NSMutableDictionary *callbackCache; |
@@ -157,6 +158,13 @@ - (FlutterViewController *)flutterViewController |
157 | 158 | return self.flutterProvider.engine.viewController; |
158 | 159 | } |
159 | 160 |
|
| 161 | +- (void)attachToPreviousContainer{ |
| 162 | + if([self.viewProvider atacheToViewController:self.previousViewController]){ |
| 163 | + [self.previousViewController.view setNeedsLayout]; |
| 164 | + [(FLBFlutterViewContainer*)self.previousViewController surfaceUpdated:YES]; |
| 165 | + } |
| 166 | +} |
| 167 | + |
160 | 168 | - (void)close:(NSString *)uniqueId |
161 | 169 | result:(NSDictionary *)resultData |
162 | 170 | exts:(NSDictionary *)exts |
@@ -190,7 +198,7 @@ - (void)open:(NSString *)url |
190 | 198 | [newParams setObject:cid?cid:@"__default#0__" forKey:kPageCallBackId]; |
191 | 199 | urlParams = newParams; |
192 | 200 | } |
193 | | - |
| 201 | + _previousViewController = [self flutterViewController]; |
194 | 202 | _callbackCache[cid] = resultCallback; |
195 | 203 | if([urlParams[@"present"]respondsToSelector:@selector(boolValue)] && [urlParams[@"present"] boolValue] && [self.platform respondsToSelector:@selector(present:urlParams:exts:completion:)]){ |
196 | 204 | [self.platform present:url |
|
0 commit comments