2013-06-13 3 views
2

iOS 앱은 특정 시간 (예 : 1 시간) 동안 앱을 일시 중지 한 경우 이전에 있던 위치에 이 아닌이 아닌 홈 화면이 인 앱을으로 돌려 보내야한다고 요구합니다. 아이디어는 앱으로 들어가서 무엇인가를 본 다음 잊어 버리는 것입니다. 한 시간 후에 다시 앱이 필요할 때 이전에했던 일과 관련이 없으며 홈 화면에서 자동으로 다시 시작하기 만하면됩니다.WillEnterForeground가 제대로 작동하지 않습니까?

DidEnterBackgroundWillEnterForeground으로 구현했으며 거의 ​​완벽하게 작동합니다. 앱이 백그라운드로 이동하면 타임 스탬프가 작성됩니다. 다시 시작하면 타임 스탬프를 현재 시간과 비교하고, 1 시간 창이 넘으면 ViewController 스택에서 animation = false로 모든 것을 팝합니다. 우리는 집에 있습니다.

이 아이 패드에 모든 시뮬레이터에서 작동하지만 내 아이폰에, 그것은 볼 수 있어야 앞에 오는 WillEnterForeground 불구하고, 집에 가기 전에 순식간에 대해 이전 화면을 보여줍니다, 그리고 그것을 떨어져 튀어 있어요 애니메이션이없는 스택이므로 보이지 않아야합니다. 무슨 일 이니?

답변

2

이것은 iOS가 앱의 배경을 찾기 전에 의도적으로 창의 스냅 샷을 찍은 다음 재개 할 때이를 표시하여보다 깔끔한 인터페이스를 제공하기 때문입니다. 애플의 문서 here에서 :

배경에 앱 전환, 시스템은 다시 포 그라운드로 응용 프로그램을 전환 할 때 다음 간단히 제시 응용 프로그램의 메인 윈도우의 스냅 샷 걸립니다.에서 applicationDidEnterBackground : 메서드를 반환하기 전에 암호 및 기타 민감한 개인 정보 ( )가 스냅 숏의 일부로 캡처되거나 숨겨져 야합니다.

그래서 대답은 (0.0 루트 뷰의 알파를 설정, 예를 들어,에 의해) applicationDidEnterBackground에서보기를 제거하거나 어떻게 든 빈하는 것입니다 그래서 당신은 다음 다시 표시할지 여부를 이력서에 결정할 수 있습니다.

+0

감사합니다. 이것은 정말로 도움이되었습니다. –

관련 문제