我正在使用故事板。 正如我记得的那样(我很久以前在ios 4上工作=)))每次出现View时,都会调用
-(void)viewWillAppear:(BOOL)Animated {}
方法。 现在,如果我按下主页按钮并再次运行应用程序,此方法无法调用。
如何解决?
如果在家中按下后出现,我需要更新一个UIView。
答案 0 :(得分:0)
试试这个,打电话给超级,
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
答案 1 :(得分:0)
函数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];
}