如何从多任务处理中恢复时刷新视图?

时间:2011-07-25 11:47:58

标签: iphone ios ipad ios4 multitasking

我有一个针对iOS 4及更高版本的应用程序。我有一个自定义视图,它有 1.Scroll view
2.滚动视图内的自定义绘图。

现在,当我的应用程序从后台恢复时,我想刷新/重新加载此滚动视图。 setNeedsDisplay在这里不起作用,因为它通常用于加载自定义绘图,在这里我想重新加载我的滚动视图内容。

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,setNeedsDisplay在这种情况下对您不起作用,因为您需要在重新绘制之前“重新加载”UIScrollView处理的数据。

如果这是正确的,我会在你的控制器中定义一个执行重装部分的方法;然后,我会从applicationDidEnterForegroundapplicationWillEnterForeground调用此方法;重载方法需要在重新加载数据后调用setNeedsDisplay

如果这个答案对您来说非常通用,我很抱歉。如果您解释更多或发布一些代码,我可以尝试更具体。

答案 1 :(得分:0)

您是否尝试过在viewDidAppear中重绘?

- (void) viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

   [yourScrollView setNeedsDisplay];

}

答案 2 :(得分:0)

setNeedDisplay调用正在重新绘制操作的drawRect。如果要刷新内容,只需在viewController中创建一个方法,并在每次线程完成(或接收数据)时创建新线程时使用performSelectorOnMainThread通知此方法。