有没有办法在顶视图控制器在ECSlidingViewController知道什么时候工具栏菜单已经被

2019-10-21 02:00发布

有没有办法在顶视图控制器在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?