Allow specific view controller to be set if needed

This commit is contained in:
Steven Zweier 2016-02-22 14:02:29 -05:00
parent b0eacc80bf
commit 192075bf3d
2 changed files with 15 additions and 2 deletions

View File

@ -110,6 +110,12 @@
/* Initially, this is nil, but created for you when you access it */
@property (nonatomic, strong) TLYShyNavBarManager *shyNavBarManager;
/*
* Set the TLYShyNavBarManager while also specifying a view controller
*/
- (void)setShyNavBarManager:(TLYShyNavBarManager *)shyNavBarManager
viewController:(UIViewController *)viewController;
/* Use this to find out if a TLYShyNavBarManager instance was associated
* to this view controller, without triggering its creation and association.
*/

View File

@ -492,12 +492,19 @@ static char shyNavBarManagerKey;
return [self _internalShyNavBarManager] != nil;
}
- (void)setShyNavBarManager:(TLYShyNavBarManager *)shyNavBarManager
viewController:(UIViewController *)viewController
{
NSAssert(viewController != nil, @"viewController must not be nil!");
shyNavBarManager.viewController = viewController;
objc_setAssociatedObject(self, &shyNavBarManagerKey, shyNavBarManager, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
#pragma mark - Properties
- (void)setShyNavBarManager:(TLYShyNavBarManager *)shyNavBarManager
{
shyNavBarManager.viewController = self;
objc_setAssociatedObject(self, &shyNavBarManagerKey, shyNavBarManager, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
[self setShyNavBarManager:shyNavBarManager viewController:self];
}
- (TLYShyNavBarManager *)shyNavBarManager