ECSlidingViewController의 Top View Controller가 사이드 바 메뉴가 해제되거나 포커스가 될 때를 알 수있는 방법이 있습니까? 즉 ECSlidingViewController에 해당하는 일종의 viewWillAppear입니다. 사이드 바를 보여준 후에 오작동하는 상위 뷰 컨트롤러에서 refreshcontrol을 사용하므로 refreshControl에서 endRefreshing을 호출하여 wierdness가 사라질 수있는 위치를 파악하려고합니다. viewWillAppear가 작동하지 않습니다. 감사!ECSlidingViewController의 Top View Controller가 사이드 바 메뉴가 해제되었을 때를 알 수있는 방법이 있습니까?
1
A
답변
1
ECSlidingViewController v2.0에는 알림이 없으므로 다음과 같은 방법으로 해결할 수있었습니다. 사이드 바 메뉴에서 ViewWillDisappear에서 "willGetFocus"라는 UIViewController에 새로운 카테고리 메소드를 호출합니다.
사이드 바 메뉴에서 :
탑 뷰 컨트롤러에서-(void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
UINavigationController* topViewController =
((UINavigationController*)self.slidingViewController.topViewController);
[topViewController.visibleViewController willGetFocus];
}
:
-(void) willGetFocus {
[self.refreshControl endRefreshing];
}
새로운 그것에 대해 때 내 topViewController 알아야 할 때마다 내가 너무 좋아하는 뷰 컨트롤러에 willGetFocus을 무시 포커스를 취득하기 범주 :
@interface UIViewController (KnowsFocus)
-(void) willGetFocus;
@end
@implementation UIViewController (KnowsFocus)
-(void) willGetFocus {
}
@end