如何使用故事板iOS7调用viewWillAppear

时间:2014-10-21 08:48:11

标签: objective-c ios7 storyboard

我正在使用故事板。 正如我记得的那样(我很久以前在ios 4上工作=)))每次出现View时,都会调用

-(void)viewWillAppear:(BOOL)Animated {}

方法。 现在,如果我按下主页按钮并再次运行应用程序,此方法无法调用。

如何解决?

如果在家中按下后出现,我需要更新一个UIView。

2 个答案:

答案 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];
}