mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Move common implementations to macros
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -85,11 +85,7 @@
|
||||
[super viewDidLayoutSubviews];
|
||||
}
|
||||
|
||||
- (void)didMoveToParentViewController:(UIViewController *)parent
|
||||
{
|
||||
[super didMoveToParentViewController:parent];
|
||||
[self visibilityDepthDidChange];
|
||||
}
|
||||
ASVisibilityDidMoveToParentViewController;
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated
|
||||
{
|
||||
@@ -104,27 +100,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidDisappear:(BOOL)animated
|
||||
{
|
||||
[super viewDidDisappear:animated];
|
||||
ASVisibilityViewDidDisappearImplementation;
|
||||
|
||||
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
|
||||
{
|
||||
|
||||
@@ -43,3 +43,45 @@ ASLayoutRangeMode ASLayoutRangeModeForVisibilityDepth(NSUInteger visibilityDepth
|
||||
- (NSInteger)visibilityDepthOfChildViewController:(UIViewController *)childViewController;
|
||||
|
||||
@end
|
||||
|
||||
#define ASVisibilityDepthImplementation \
|
||||
- (NSInteger)visibilityDepth \
|
||||
{ \
|
||||
if (self.parentViewController && _parentManagesVisibilityDepth == NO) { \
|
||||
_parentManagesVisibilityDepth = [self.parentViewController conformsToProtocol:@protocol(ASManagesChildVisibilityDepth)]; \
|
||||
} \
|
||||
\
|
||||
if (_parentManagesVisibilityDepth) { \
|
||||
return [(id <ASManagesChildVisibilityDepth>)self.parentViewController visibilityDepthOfChildViewController:self]; \
|
||||
} \
|
||||
return _visibilityDepth; \
|
||||
}
|
||||
|
||||
#define ASVisibilityViewDidDisappearImplementation \
|
||||
- (void)viewDidDisappear:(BOOL)animated \
|
||||
{ \
|
||||
[super viewDidDisappear:animated]; \
|
||||
\
|
||||
if (_parentManagesVisibilityDepth == NO) { \
|
||||
_visibilityDepth = 1; \
|
||||
[self visibilityDepthDidChange]; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define ASVisibilityViewWillAppear \
|
||||
- (void)viewWillAppear:(BOOL)animated \
|
||||
{ \
|
||||
[super viewWillAppear:animated]; \
|
||||
\
|
||||
if (_parentManagesVisibilityDepth == NO) { \
|
||||
_visibilityDepth = 0; \
|
||||
[self visibilityDepthDidChange]; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define ASVisibilityDidMoveToParentViewController \
|
||||
- (void)didMoveToParentViewController:(UIViewController *)parent \
|
||||
{ \
|
||||
[super didMoveToParentViewController:parent]; \
|
||||
[self visibilityDepthDidChange]; \
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user