detail_view_protocol_right_left_button
This commit is contained in:
parent
dcc6e5f9ea
commit
f5b580ba50
@ -324,6 +324,17 @@
|
|||||||
return [self.loadObject.pageJSON lenientBoolForKey:@"showRightPanel"];
|
return [self.loadObject.pageJSON lenientBoolForKey:@"showRightPanel"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (BOOL)isOverridingRightButton {
|
||||||
|
return [self.loadObject.pageJSON dict:@"supportLink"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)rightPanelButtonPressed {
|
||||||
|
[[MVMCoreActionHandler sharedActionHandler] handleActionWithDictionary:[self.loadObject.pageJSON dict:@"supportLink"]
|
||||||
|
additionalData:nil
|
||||||
|
delegate:self];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setSupportShouldBeAccessible:(BOOL)supportShouldBeAccessible {
|
- (void)setSupportShouldBeAccessible:(BOOL)supportShouldBeAccessible {
|
||||||
|
|
||||||
MVMCoreUISplitViewController *splitViewController = [MVMCoreUISession sharedGlobal].splitViewController;
|
MVMCoreUISplitViewController *splitViewController = [MVMCoreUISession sharedGlobal].splitViewController;
|
||||||
|
|||||||
@ -24,6 +24,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
// Called when the back button is pressed. Overwrite for special functionality.
|
// Called when the back button is pressed. Overwrite for special functionality.
|
||||||
- (void)backButtonPressed;
|
- (void)backButtonPressed;
|
||||||
|
|
||||||
|
- (void)leftPanelButtonPressed;
|
||||||
|
- (void)rightPanelButtonPressed;
|
||||||
|
- (BOOL)isOverridingRightButton;
|
||||||
|
- (BOOL)isOverridingLeftButton;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@ -142,6 +142,19 @@ CGFloat const PanelAnimationDuration = 0.2;
|
|||||||
|
|
||||||
- (IBAction)leftPanelButtonPressed:(id)sender {
|
- (IBAction)leftPanelButtonPressed:(id)sender {
|
||||||
[MVMCoreDispatchUtility performBlockOnMainThread:^{
|
[MVMCoreDispatchUtility performBlockOnMainThread:^{
|
||||||
|
UIViewController *viewController = self.navigationController.topViewController;
|
||||||
|
|
||||||
|
// If Viewcontroller confirms to protocol and implements the the method leftPanelButtonPressed
|
||||||
|
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
|
||||||
|
&& [viewController respondsToSelector:@selector(leftPanelButtonPressed)]
|
||||||
|
&& [viewController respondsToSelector:@selector(isOverridingLeftButton)]) {
|
||||||
|
|
||||||
|
if ([((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingLeftButton]) {
|
||||||
|
[((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) leftPanelButtonPressed];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (self.mainViewLeading.constant < .1) {
|
if (self.mainViewLeading.constant < .1) {
|
||||||
|
|
||||||
// Hide the keyboard
|
// Hide the keyboard
|
||||||
@ -153,6 +166,7 @@ CGFloat const PanelAnimationDuration = 0.2;
|
|||||||
// Hide
|
// Hide
|
||||||
[self hideLeftPanelIfNeededAnimated:YES];
|
[self hideLeftPanelIfNeededAnimated:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,9 +183,22 @@ CGFloat const PanelAnimationDuration = 0.2;
|
|||||||
|
|
||||||
- (IBAction)rightPanelButtonPressed:(id)sender {
|
- (IBAction)rightPanelButtonPressed:(id)sender {
|
||||||
[MVMCoreDispatchUtility performBlockOnMainThread:^{
|
[MVMCoreDispatchUtility performBlockOnMainThread:^{
|
||||||
|
UIViewController *viewController = self.navigationController.topViewController;
|
||||||
|
|
||||||
|
// If Viewcontroller confirms to protocol and implements the the method rightPanelButtonPressed
|
||||||
|
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
|
||||||
|
&& [viewController respondsToSelector:@selector(isOverridingRightButton)]
|
||||||
|
&& [viewController respondsToSelector:@selector(rightPanelButtonPressed)]) {
|
||||||
|
|
||||||
|
if ([((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingRightButton]) {
|
||||||
|
[((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) rightPanelButtonPressed];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (self.mainViewTrailing.constant < .1) {
|
if (self.mainViewTrailing.constant < .1) {
|
||||||
// Hide the keyboard
|
// Hide the keyboard
|
||||||
[self.navigationController.topViewController.view endEditing:YES];
|
[viewController.view endEditing:YES];
|
||||||
|
|
||||||
// Show
|
// Show
|
||||||
[self showRightPanelAnimated:YES];
|
[self showRightPanelAnimated:YES];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user