응용 프로그램 대리인의 applicationWillResignActive:
메서드에서 UIImageView를 눈에 띄지 않는 팝업으로 만들 수 있습니다. 예를 들어 애플리케이션에 사용자의 비밀번호가 있다고 가정 해 보겠습니다. 누군가가 사용자 뒤를 걷고 있으며 사용자가 홈 버튼을 누릅니다. 이것은 applicationWillResignActive:
메서드를 호출합니다.이 메서드는 맵보기를 표시하므로 워커가 사라지고 사용자가 응용 프로그램을 다시 열면 사용자 암호의 간단한 스냅 샷 대신 맵보기로 바로 열립니다. 이것은 당신이 그것을 구현하는 방법입니다 :
//AppDelegate.m
- (void)applicationWillResignActive:(UIApplication *)application {
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"picOfMap.png"]];
image.frame = self.view.frame;
image.contentMode = UIViewContentModeCenter;
[self.window.rootViewController.view addSubview: image];
}
을 그리고 여기 applicationWillResignActive:
가 호출 될 때의 설명입니다 :
이 방법은 사용자의 응용 프로그램이에 활성 이동할 예정임을 알려이라고
비활성 상태. 일시적인 일시적인 방해 (수신 전화 또는 SMS 메시지와 같은) 또는 사용자가 응용 프로그램을 종료하고 백그라운드 상태로의 전환을 시작할 때 이러한 현상이 발생할 수 있습니다. 비활성 상태의 응용 프로그램은 계속 실행되지만 들어오는 이벤트는 응답자에게 전달되지 않습니다. (UIApplicationDelegate Reference)
가 나는 앱 위임에서 작업에 익숙하지이기 때문에 코드에서 몇 가지 버그 수 있지만, 당신이해야 할 일의 요점입니다 수 있습니다.
그러나 사용자가 앱을 다시 방문 할 때 다시보기를 원합니다. 사용자가 홈 버튼을 클릭하고 돌아올 때 홈 버튼 누르기 (스냅 샷) 이전에 보았던 화면이든 화면에 강제로 표시 될지 여부와 상관없이 스냅 샷이 전혀 표시되지 않도록합니다. 홈 프레스 직전 (위의 솔루션). 눈에 띄지 않던간에 아무런 이미지/뷰가 존재하지 않기를 바란다. –
@JohnBaum - 사용자가 닫은 후에 응용 프로그램이 다시 열리면 스냅 샷은 표시된 민감한 데이터가 아닌 "눈에 띄지 않는"이미지가됩니다 . 'applicationWillEnterForeground :'에 이미지를 제거하는 코드를 넣을 수 있기 때문에 사용자는 원래 화면으로 되돌아갑니다. 기본적으로 내 모든 코드는 민감한 데이터의 이전 스냅 샷을 의미없는 부드러운 이미지로 대체합니다. 그것은 다른 어떤 것에도 영향을 미치지 않습니다. – pasawaya
@JohnBaum 무엇을 보여주고 싶습니까? 그 주석 에서처럼, 당신은 빈 화면을 원합니다. – nycynik