2011-05-02 2 views
0

버튼을 항상 선택하고 싶습니다. 인터페이스 빌더에서 나는 강조 표시된을 선택했다. 버튼이 눌려지면 위로 터치 위로에 메서드가 호출됩니다.응용 프로그램을 최소화하고 다시 앞으로 가져올 때 호출되는 메서드는 무엇입니까?

-(IBAction)openPage:(id)sender{ 
    button.highlighted = YES; 
    [[UIApplication sharedApplication] 
      openURL:[NSURL URLWithString: @"http://www.page.net"]]; 
} 

그래서 브라우저가 열립니다. 내 응용 프로그램으로 돌아 가면 버튼이 더 이상 선택되지 않습니다. 왜 그것을 선택하지 않았습니까?

응용 프로그램이 최소화되고 다시 돌아올 때 어떤 방법이 호출됩니까?

답변

1

몇 가지 방법으로 추적 할 수 있습니다. 첫 번째는 앱 위임에 -applicationDidBecomeActive:을 구현하는 것입니다. 이 메서드는 응용 프로그램이 비활성 상태에서 활성 상태로 전환 될 때마다 호출됩니다. 예를 들어 절전 모드에서 깨우기, 전화 통화에서 복귀, 방금 수신 한 SMS 알림을 닫을 때 등이 있습니다. 원하는대로이 작업을 수행 할 수 있습니다. . 또한 iOS 3.0 이상에서 사용 가능하다는 장점이 있습니다.

대체 방법은 앱 위임에 -applicationWillEnterForeground:을 구현하는 것입니다. 이 방법은 iOS 4.0 이상에서만 사용할 수 있지만 다른 앱에서 전환 한 후 애플리케이션을 포 그라운드로 가져올 때만 호출되는 장점이 있습니다.

앱 위임에이 기능을 구현할 수 없거나 바람직하지 않은 경우 UIApplicationDidBecomeActiveNotificationUIApplicationWillEnterForegroundNotification에 대한 알림 옵저버를 추가 할 수 있습니다.

관련 문제