2012-01-10 4 views
0

내 앱에서 집 버튼을 눌러야합니다. 사용자가 내 DetailedViewController의 홈 버튼을 누를 때 [self.navigationController popViewControllerAnimated:YES] 메소드를 트리거해야합니다. 도와주세요. 어떻게 할 수 있습니까?홈 버튼을 눌러서 iPhone을 누르십시오.

답변

2

앱 대행에서 - (void)applicationWillResignActive:(UIApplication *)application 메소드를 확인하십시오. 그것은 이벤트를 잡을 것입니다. 그러면 필요한만큼 처리 할 수 ​​있습니다. 예를 들어, 기본 알림 센터를 사용하여 알림을 게시하고 수행해야하는 클래스에서 가져옵니다.

+0

모든 것이 명확합니다. self.navigationController.visibleViewController.nibName'을 사용하는 그 메소드 사용자가 홈 버튼을 눌렀을 때 어떤 뷰 컨트롤러가 보이는지 알고있다. 하지만 내 볼 컨트롤러의 펜촉 이름이 'DetailedViewController' 인 경우 팝업 (간단 함)하지만 앱 **의 앱 닫기 시도를 취소해야 함 ** – Oleg

+0

홈 후에 앱을 닫을 수있는 방법이 없습니다. 버튼을 눌렀습니다. –

1

정확히 무엇을 원하십니까? 집 (루트)으로 돌아가거나 이전 페이지로 돌아가고 싶습니까?

그냥 당신이 다시 시작 또는 홈 컨트롤러로 얻을 수있는이 코드를 시도

Павел Оганесян 설명했듯이
[self.navigationControler popToRootViewControllerAnimated:YES]; 
1

:

이제
// post notification 
- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"TestNotification" object:self]; 
} 

하는 .m 파일 DetailedViewController
// add observer 
- (void)viewDidLoad 
{ 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"TestNotification" 
               object:nil]; 
} 

- (void) receiveTestNotification:(NSNotification *) notification 
{ 
    // do the needful 
} 

희망이 도움이 되길 ...

관련 문제