Скриншот обхода для iOS 4 - PullRequest
11 голосов
/ 28 июля 2010

Я хотел бы очистить представление до того, как приложение будет отключено, чтобы изменить образ запуска, чтобы при следующем входе в приложение не отображались некоторые небезопасные данные.

iOS 4 обеспечивает applicationDidEnterBackground и applicationWillResignActive ... однако, ни один из них, по-видимому, не может помешать созданию снимка экрана до того, как у меня появится возможность очистить вид.

Ответы [ 2 ]

8 голосов
/ 29 июля 2010

-applicationDidEnterBackground вызывается до скриншота. Оказывается, я просто неправильно скрывал свой взгляд.

Простой способ очистить представление состоял в том, чтобы установить скрытое свойство для моего UIView.

1 голос
/ 04 апреля 2012

Просто добавьте фрагмент кода для быстрого решения этой проблемы, используя полное фоновое изображение, объявленное при инициализации и скрывая его.

Вы можете сделать более изощренное скрытие конкретного содержимого каждого представлениярегистрируясь в уведомлении, и в представлениях скрывайте определенные представления (метки), которые вы хотите скрыть.

Другое решение состоит в том, чтобы проверить, какой viewcontroller показывает, и переключаться между различными скриншотами представления этого view-контроллера безданные показаны.

Самый простой способ:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    UIImageView *backgroundView_ = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
    self.backgroundView = backgroundView_;
    [backgroundView_ release];

    // Add other controllers views
    // ...

    [self.window bringSubviewToFront:self.backgroundView];
    self.backgroundView.hidden = YES;
    [self.window makeKeyAndVisible];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    self.backgroundView.hidden = YES;
  }

- (void)applicationDidEnterBackground:(UIApplication *)application {
    self.backgroundView.hidden = NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...