From cff8361f9f63f94551018bd6263cbe42b9484a12 Mon Sep 17 00:00:00 2001 From: "Chowdhury, Shohrab" Date: Wed, 1 May 2019 14:00:57 -0400 Subject: [PATCH] allow user to overrise pannable Percentage value --- MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.h | 3 +++ MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.m | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.h b/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.h index b08129f0..cfcf6320 100644 --- a/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.h +++ b/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.h @@ -25,6 +25,9 @@ // true while panning @property (nonatomic) BOOL panning; +//set pannable percentage 0 to 1 +@property (nonatomic) CGFloat pannablePercentage; + // can be used to keep track of if we are .. @property (nonatomic) BOOL interactive; diff --git a/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.m b/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.m index de20ef53..b8e2cee4 100644 --- a/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.m +++ b/MVMCoreUI/Containers/TabBarController/MFTabBarInteractor.m @@ -8,8 +8,6 @@ #import "MFTabBarInteractor.h" -static CGFloat pannablePercentage = 0.15; - typedef NS_ENUM(NSUInteger, MFTabBarPanningDirection) { MFTabBarPanningDirectionLeft, MFTabBarPanningDirectionRight @@ -33,6 +31,7 @@ typedef NS_ENUM(NSUInteger, MFTabBarPanningDirection) { - (nullable instancetype)initWithViewController:(nullable UIViewController *)viewController delegate:(nullable id)delegate { if (self = [super init]) { + self.pannablePercentage = 0.15; self.panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; [viewController.view addGestureRecognizer:self.panGesture]; self.delegate = delegate; @@ -48,8 +47,8 @@ typedef NS_ENUM(NSUInteger, MFTabBarPanningDirection) { // Simulates an edge gesture by only accepting pans at the edge of the screen. Needed because edge gesture doesn't work nicely with extended menus such as on ipad. CGRect frame = pan.view.frame; - CGRect pannableFrameLeft = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width*pannablePercentage, frame.size.height); - CGRect pannableFrameRight = CGRectMake(frame.origin.x + frame.size.width*(1-pannablePercentage), frame.origin.y, frame.size.width*pannablePercentage, frame.size.height); + CGRect pannableFrameLeft = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width*self.pannablePercentage, frame.size.height); + CGRect pannableFrameRight = CGRectMake(frame.origin.x + frame.size.width*(1-self.pannablePercentage), frame.origin.y, frame.size.width*self.pannablePercentage, frame.size.height); switch (pan.state) { case UIGestureRecognizerStateBegan: