2011-01-24 8 views
1

탐색 스택 내에서 팝업을 어떻게 해제합니까? popover의 루트 컨트롤러로 네비게이션 컨트롤러가 있고 스택에 2 개의 taes가 있습니다. 그래서 첫 번째 테이블 뷰는 두 번째 테이블을 밀어 넣고 두 번째 테이블 뷰는 팝업을 닫아야합니다. 나는 이것이 틀린 것처럼 보이지만 테이블에서 팝 오버 테이블로의 참조를 전달할 수 있습니다. 다른 컨트롤러를 탐색 한 후 팝 오버를 해제하는 기본 방법은 무엇입니까? 당신이 그 설정이 있으면UIpopover 해제

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(hidePopover)
name:@"hidePopover"
object:nil];

, 그래서처럼 AppDelegate에 내 새로운 방법을 추가 :

-(void)hidePopover{ 
    [UIPopoverController dismissPopoverAnimated:YES]; 
}

이 방법 때문에, 대단한 AppDelegate에에서

답변

6

, 새로운 NSNotificationCenter 관찰자를 추가 이제 어디서나 팝업을 닫을 수있는 방법으로 설정했습니다. 당신과 같이이 작업을 수행 :

이이 수수께끼를 해결
[[NSNotificationCenter defaultCenter] postNotificationName:@"hidePopover" 
object:nil];

희망,

+0

그러나 dismissPopover 방법은 클래스의 방법이 아닙니다. 그래서 애플 리케이션 대리자에 popover에 대한 참조가 필요 한가 ?? 모달 뷰 컨트롤러처럼 작동하지 않는 이유는 무엇입니까? –

+0

apple docs를 읽는다면 popover 컨트롤러에 대한 참조를 헤더의 속성으로 유지하여 표시 할 때마다보기를 만들 필요가 없다고 말합니다. UIPopOverController를 개체 이름으로 바꿉니다. 미안, 나는 그것에 관해 더 분명해야했다. –

+0

UIPopoverController 클래스 참조에 있습니까? –

관련 문제