-
Notifications
You must be signed in to change notification settings - Fork 0
/
UIViewController+FrostedViewController.m
44 lines (38 loc) · 1.2 KB
/
UIViewController+FrostedViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// UIViewController+FrostedViewController.m
// Streaker
//
// Created by Mcom Media on 09/05/2016.
// Copyright © 2016 Workstreak. All rights reserved.
//
#import "UIViewController+FrostedViewController.h"
#import "FrostedViewController.h"
@implementation UIViewController (FrostedViewController)
- (void)re_displayController:(UIViewController *)controller frame:(CGRect)frame
{
[self addChildViewController:controller];
controller.view.frame = frame;
[self.view addSubview:controller.view];
[controller didMoveToParentViewController:self];
}
- (void)re_hideController:(UIViewController *)controller
{
[controller willMoveToParentViewController:nil];
[controller.view removeFromSuperview];
[controller removeFromParentViewController];
}
- (FrostedViewController *)frostedViewController
{
UIViewController *iter = self.parentViewController;
while (iter) {
if ([iter isKindOfClass:[FrostedViewController class]]) {
return (FrostedViewController *)iter;
} else if (iter.parentViewController && iter.parentViewController != iter) {
iter = iter.parentViewController;
} else {
iter = nil;
}
}
return nil;
}
@end