Move common implementations to macros

This commit is contained in:
Garrett Moon
2016-05-11 16:54:38 -07:00
parent af7a2f09d7
commit b7b8ad54fd
4 changed files with 53 additions and 93 deletions

View File

@@ -14,43 +14,13 @@
NSInteger _visibilityDepth;
}
- (void)didMoveToParentViewController:(UIViewController *)parent
{
[super didMoveToParentViewController:parent];
[self visibilityDepthDidChange];
}
ASVisibilityDidMoveToParentViewController;
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
ASVisibilityViewWillAppear;
if (_parentManagesVisibilityDepth == NO) {
_visibilityDepth = 0;
[self visibilityDepthDidChange];
}
}
ASVisibilityViewDidDisappearImplementation;
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
if (_parentManagesVisibilityDepth == NO) {
_visibilityDepth = 1;
[self visibilityDepthDidChange];
}
}
- (NSInteger)visibilityDepth
{
if (self.parentViewController && _parentManagesVisibilityDepth == NO) {
_parentManagesVisibilityDepth = [self.parentViewController conformsToProtocol:@protocol(ASManagesChildVisibilityDepth)];
}
if (_parentManagesVisibilityDepth) {
return [(id <ASManagesChildVisibilityDepth>)self.parentViewController visibilityDepthOfChildViewController:self];
}
return _visibilityDepth;
}
ASVisibilityDepthImplementation;
- (void)visibilityDepthDidChange
{