应用在iOS 7中使用applicationDidEnterBackground进入后台时无法更新视图:

时间:2013-09-21 20:31:56

标签: ios objective-c background ios7 foreground

当我的应用程序进入后台时,我正在更改视图以准备它回到前台。在iOS 6中,我正在做的工作正常。但是在iOS 7中,它无法正常工作。

我试图隐藏并显示一些像这样的UILabel:

//AppDelegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [self.timerVc hideTimerLabels];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [self.timerVc showTimerLabels];
}


//TimerVC.m
- (void)hideTimerLabels {
    for (UILabel *label in self.timerLabels) {
        label.hidden = YES;
    }
}

- (void)showTimerLabels {
    for (UILabel *label in self.timerLabels) {
        label.hidden = NO;
    }
}

当我设置断点时,所有这些代码都会触发,但似乎没有做任何事情。我还测试了hideTimerLabelsshowTimerLabels方法,它们在iOS 7中运行良好。

1 个答案:

答案 0 :(得分:5)

看起来这只发生在模拟器中。在具有iOS 7的实际设备上,它按预期工作。另一个提示是,更频繁地在设备上进行测试。