From 32225901be4b684f3e02efaebc9caf6c41955e04 Mon Sep 17 00:00:00 2001 From: Aleksey Kozhevnikov Date: Tue, 6 Jan 2015 22:11:05 +0300 Subject: [PATCH] introduce disabled flag --- TLYShyNavBar/TLYShyNavBarManager.h | 2 ++ TLYShyNavBar/TLYShyNavBarManager.m | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/TLYShyNavBar/TLYShyNavBarManager.h b/TLYShyNavBar/TLYShyNavBarManager.h index 9dbaf76..a77e6f3 100644 --- a/TLYShyNavBar/TLYShyNavBarManager.h +++ b/TLYShyNavBar/TLYShyNavBarManager.h @@ -52,6 +52,8 @@ */ @property (nonatomic, getter = isAlphaFadeEnabled) BOOL alphaFadeEnabled; +@property (nonatomic) BOOL disable; + @end diff --git a/TLYShyNavBar/TLYShyNavBarManager.m b/TLYShyNavBar/TLYShyNavBarManager.m index ec4e37b..7bc5981 100644 --- a/TLYShyNavBar/TLYShyNavBarManager.m +++ b/TLYShyNavBar/TLYShyNavBarManager.m @@ -171,10 +171,29 @@ static inline CGFloat AACStatusBarHeight() return self.viewController.isViewLoaded && self.viewController.view.window; } +- (void)setDisable:(BOOL)disable +{ + if (disable == _disable) + { + return; + } + + _disable = disable; + + if (!disable) { + self.previousYOffset = self.scrollView.contentOffset.y; + } +} + #pragma mark - Private methods - (BOOL)_shouldHandleScrolling { + if (self.disable) + { + return NO; + } + CGRect scrollFrame = UIEdgeInsetsInsetRect(self.scrollView.bounds, self.scrollView.contentInset); CGFloat scrollableAmount = self.scrollView.contentSize.height - CGRectGetHeight(scrollFrame); BOOL scrollViewIsSuffecientlyLong = (scrollableAmount > self.navBarController.totalHeight);