Функция viewWillAppear
не является частью UIView
. Это часть UIViewController
.
Он вызывается после того, как вид контроллера вида был загружен и непосредственно перед тем, как он начнет переход на экран.
Если вы создадите подкласс UIView
и поместите эту функцию в него, он никогда не будет вызван, потому что он не должен быть.
Редактировать
Вы правы, что viewWillAppear
не дозвонились, когда приложение возвращается из фона.
Если вы хотите обновить часть своего приложения, когда это произойдет, вы можете что-то сделать в AppDelegate.
Я бы рекомендовал не пытаться сохранять свойства и т. Д. В AppDelegate. Вы должны сделать что-то вроде этого ...
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
// just pass the message on. In your view you will need to add an observer for this notification
[[NSNotificationCenter defaultCenter] postNotificationName:@"UpdateViewNotification" object:nil];
}
Фактически 'viewWillAppear' все еще ведет себя одинаково. Он срабатывает, когда появится представление ... в другом месте должна быть ошибка. –
'viewWillAppear' является частью' UIViewController', а не 'UIView'. См. Мой ответ. – Fogmeister