let tabbar manager handle child viewcontroller's behavior

This commit is contained in:
panxi 2019-05-03 15:25:41 -04:00
parent a9734be4df
commit 3ec1364aed
3 changed files with 31 additions and 2 deletions

View File

@ -352,6 +352,19 @@
}
}
- (BOOL)isOverridingLeftButton {
NSDictionary *leftPanelLinkDict = [self.loadObject.pageJSON dict:@"leftPanelButtonLink"];
if (leftPanelLinkDict) {
[[MVMCoreActionHandler sharedActionHandler] handleActionWithDictionary:leftPanelLinkDict
additionalData:nil
delegateObject:[self delegateObject]];
return YES;
} else {
return NO;
}
}
- (void)setSupportShouldBeAccessible:(BOOL)supportShouldBeAccessible {
MVMCoreUISplitViewController *splitViewController = [MVMCoreUISession sharedGlobal].splitViewController;

View File

@ -142,7 +142,7 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)leftPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = [self getCurrentDetailViewController];
UIViewController *viewController = self.navigationController.topViewController;
// If Viewcontroller confirms to protocol and implements the the method leftPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
@ -176,7 +176,7 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)rightPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = [self getCurrentDetailViewController];
UIViewController *viewController = self.navigationController.topViewController;
// If Viewcontroller confirms to protocol and implements the the method rightPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]

View File

@ -139,6 +139,22 @@
}
}
- (BOOL)isOverridingLeftButton {
if ([self.viewController isKindOfClass:MFViewController.class]) {
return [(MFViewController *)self.viewController isOverridingLeftButton];
} else {
return [super isOverridingLeftButton];
}
}
- (BOOL)isOverridingRightButton {
if ([self.viewController isKindOfClass:MFViewController.class]) {
return [(MFViewController *)self.viewController isOverridingRightButton];
} else {
return [super isOverridingRightButton];
}
}
#pragma mark - View Cycle
- (void)loadView {