Skip to content

Commit 27116f7

Browse files
committed
Callbacks for child views:
- (void)underLeftWillAppear - (void)underRightWillAppear - (void)topDidReset
1 parent b0bb27c commit 27116f7

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

ECSlidingViewController/ThirdTopViewController.m

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,20 @@ - (IBAction)revealMenu:(id)sender
3030
[self.slidingViewController anchorTopViewTo:ECRight animations:nil onComplete:nil];
3131
}
3232

33+
// callbacks from slidingViewController
34+
- (void)underLeftWillAppear
35+
{
36+
NSLog(@"under left will appear");
37+
}
38+
39+
- (void)underRightWillAppear
40+
{
41+
NSLog(@"under right will appear");
42+
}
43+
44+
- (void)topDidReset
45+
{
46+
NSLog(@"top did reset");
47+
}
48+
3349
@end

ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ - (void)underLeftWillAppear;
3535
- (void)underRightWillAppear;
3636
- (void)topDidReset;
3737
- (BOOL)topViewHasFocus;
38+
- (void)performSelectorOnChildViewControllers:(SEL)selector;
3839

3940
@end
4041

@@ -390,20 +391,23 @@ - (CGFloat)screenWidthForOrientation:(UIInterfaceOrientation)orientation
390391

391392
- (void)underLeftWillAppear
392393
{
394+
[self performSelectorOnChildViewControllers:@selector(underLeftWillAppear)];
393395
self.underRightView.hidden = YES;
394396
[self.underLeftViewController viewWillAppear:NO];
395397
self.underLeftView.hidden = NO;
396398
}
397399

398400
- (void)underRightWillAppear
399401
{
402+
[self performSelectorOnChildViewControllers:@selector(underRightWillAppear)];
400403
self.underLeftView.hidden = YES;
401404
[self.underRightViewController viewWillAppear:NO];
402405
self.underRightView.hidden = NO;
403406
}
404407

405408
- (void)topDidReset
406409
{
410+
[self performSelectorOnChildViewControllers:@selector(topDidReset)];
407411
[self.topView removeGestureRecognizer:self.resetTapGesture];
408412
[self removeTopViewSnapshot];
409413
self.panGesture.enabled = YES;
@@ -414,4 +418,14 @@ - (BOOL)topViewHasFocus
414418
return self.topView.center.x == self.resettedCenter;
415419
}
416420

421+
- (void)performSelectorOnChildViewControllers:(SEL)selector
422+
{
423+
NSArray *childViewControllers = [self childViewControllers];
424+
for (UIViewController *childViewController in childViewControllers) {
425+
if ([childViewController respondsToSelector:selector]) {
426+
[childViewController performSelector:selector];
427+
}
428+
}
429+
}
430+
417431
@end

0 commit comments

Comments
 (0)