ECSlidingViewController中的顶视图控制器是否有办法知道边栏菜单何时被解除,或何时它将成为焦点?即一种与ECSlidingViewController等效的viewWillAppear。我的顶视图控制器中有一个refreshcontrol,在显示侧边栏后开始行为不端,所以我试图找出我可以在refreshControl上调用endRefreshing的位置,以便让wierdness消失。将它放在viewWillAppear中不起作用。谢谢!
答案 0 :(得分:1)
由于ECSlidingViewController v2.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