有没有办法在顶视图控制器在ECSlidingViewController知道什么时候工具栏菜单已经被解雇,或者当它即将成为焦点? 即一种viewWillAppear中等效ECSlidingViewController的。 我在我的顶视图控制器refreshcontrol显示侧边栏后开始行为不端,所以我试图找出在那里我可以叫endRefreshing在refreshControl从而使wierdness消失。 把它放在viewWillAppear中不起作用。 谢谢!
Answer 1:
由于ECSlidingViewController 2.0没有通知,我能够通过以下方式来解决这个问题。 工具栏菜单,在ViewWillDisappear我呼吁UIViewController的一个新的类别的方法称为“willGetFocus。” 每当我topViewController需要知道当它是关于获得焦点我在等,使得视图控制器覆盖willGetFocus:
在工具栏菜单:
-(void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
UINavigationController* topViewController =
((UINavigationController*)self.slidingViewController.topViewController);
[topViewController.visibleViewController willGetFocus];
}
在顶视图控制器:
-(void) willGetFocus {
[self.refreshControl endRefreshing];
}
新类别:
@interface UIViewController (KnowsFocus)
-(void) willGetFocus;
@end
@implementation UIViewController (KnowsFocus)
-(void) willGetFocus {
}
@end
文章来源: Is there a way for the Top View Controller in ECSlidingViewController to know when the sidebar menu has been dismissed?