iOS:DoricContext add vc

This commit is contained in:
pengfei.zhou 2020-04-21 18:52:54 +08:00 committed by osborn
parent 64d1153e93
commit 2541a13d74
4 changed files with 11 additions and 7 deletions

View File

@ -33,6 +33,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface DoricContext : NSObject @interface DoricContext : NSObject
@property(nonatomic, weak) id <DoricNavigatorDelegate> navigator; @property(nonatomic, weak) id <DoricNavigatorDelegate> navigator;
@property(nonatomic, weak) id <DoricNavBarDelegate> navBar; @property(nonatomic, weak) id <DoricNavBarDelegate> navBar;
@property(nonatomic, weak) UIViewController *vc;
@property(nonatomic, strong) NSString *contextId; @property(nonatomic, strong) NSString *contextId;
@property(nonatomic, strong) id <DoricDriverProtocol> driver; @property(nonatomic, strong) id <DoricDriverProtocol> driver;
@property(nonatomic, strong) NSMutableDictionary *pluginInstanceMap; @property(nonatomic, strong) NSMutableDictionary *pluginInstanceMap;

View File

@ -112,5 +112,10 @@ - (void)onShow {
- (void)onHidden { - (void)onHidden {
[self callEntity:DORIC_ENTITY_HIDDEN withArgumentsArray:@[]]; [self callEntity:DORIC_ENTITY_HIDDEN withArgumentsArray:@[]];
} }
- (UIViewController *)vc {
if(!_vc) {
return [UIApplication sharedApplication].keyWindow.rootViewController;
}
return _vc;
}
@end @end

View File

@ -181,6 +181,7 @@ - (void)loadJSBundle {
[self.doricPanel config:result alias:self.alias extra:self.extra]; [self.doricPanel config:result alias:self.alias extra:self.extra];
self.doricPanel.doricContext.navigator = self; self.doricPanel.doricContext.navigator = self;
self.doricPanel.doricContext.navBar = self; self.doricPanel.doricContext.navBar = self;
self.doricPanel.doricContext.vc = self;
}); });
}; };
result.exceptionCallback = ^(NSException *e) { result.exceptionCallback = ^(NSException *e) {

View File

@ -47,8 +47,7 @@ - (void)alert:(NSDictionary *)dic withPromise:(DoricPromise *)promise {
[promise resolve:nil]; [promise resolve:nil];
}]; }];
[alert addAction:action]; [alert addAction:action];
UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController; [self.doricContext.vc presentViewController:alert animated:YES completion:nil];
[vc presentViewController:alert animated:YES completion:nil];
}); });
} }
@ -70,8 +69,7 @@ - (void)confirm:(NSDictionary *)dic withPromise:(DoricPromise *)promise {
[promise reject:nil]; [promise reject:nil];
}]; }];
[alert addAction:cancelAction]; [alert addAction:cancelAction];
UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController; [self.doricContext.vc presentViewController:alert animated:YES completion:nil];
[vc presentViewController:alert animated:YES completion:nil];
}); });
} }
@ -108,8 +106,7 @@ - (void)prompt:(NSDictionary *)dic withPromise:(DoricPromise *)promise {
[alert addAction:cancelAction]; [alert addAction:cancelAction];
UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController; [self.doricContext.vc presentViewController:alert animated:YES completion:nil];
[vc presentViewController:alert animated:YES completion:nil];
}); });
} }
@end @end