2013-04-23 5 views
1

У меня есть часть UIView, что я добавил маску с помощью:Маска UIView содержимого с указанием, когда приложение загружает из фона

-(void)viewDidLoad{ 

    CALayer* maskLayer = [CALayer layer]; 
    maskLayer.contents = (__bridge id)[[UIImage imageNamed:@"mask.png"] CGImage]; 

    self.myView.layer.mask = maskLayer; 
} 

Моей проблема, когда я вернусь в приложение после нажатия кнопки домой, кратковременно отображается скрытая область, поскольку приложение оживляет состояние фона.

Насколько я понимаю, это связано с тем, что iOS фиксирует изображение состояния вашего приложения, чтобы отобразить эту анимацию, и скрытый слой не захватывается? (Раньше у меня была эта проблема при программном захвате моментального снимка моего приложения)

Есть ли лучшее место, где я мог бы выполнять маску или, может быть, лучший способ маскировки, чтобы исправить это?

ответ

0

Когда приложение приходят от фона он будет вызывать следующий метод AppDelegate

- (void)applicationWillEnterForeground:(UIApplication *)application 

Решение

  • Добавить слой анимации код выше метода (applicationWillEnterForeground).
    OR
  • Добавить селектор или NSNotificationCenter, который вызовет ваш метод анимации.


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

 Смежные вопросы

  • Нет связанных вопросов^_^