2011-07-25 7 views
0

私はiOS 4以上を対象としたアプリを持っています。カスタムビューを持っています。
1.Scrollビュー
2.カスタム描画がスクロールビュー内にあります。マルチタスクから復帰するときにビューを更新するには?

私のアプリがバックグラウンドから再開するとき、このスクロールビューをリフレッシュ/リロードしたいと思います。 通常はカスタム図面を読み込むためのsetNeedsDisplayはここでは機能しません。ここではスクロールビューのコンテンツをリロードします。

ありがとうございます。

答えて

0

viewDidAppearの中で再描画を試みましたか?私が正しくあなたの質問を理解していればあなたは「リロード」UIScrollViewが再描画を行う前に処理するデータする必要があるため

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

    [yourScrollView setNeedsDisplay]; 

} 
+0

ビューが既に作成されているため、これは機能しません。アプリケーションはバックグラウンドから再開しています。 –

+0

次に、applicationDidEnterForegroundで同じことを行うことができます –

1

setNeedsDisplayは、この場合には、あなたのために動作しません。

これが正しい場合は、リロード部分を実行するコントローラ内のメソッドを定義します。次に、私はapplicationDidEnterForegroundまたはapplicationWillEnterForegroundからこのメソッドを呼び出します。リロードメソッドはデータをリロードした後にsetNeedsDisplayを呼び出す必要があります。

この回答が非常に一般的であると思われる場合は、申し訳ありません。より多くのことを説明したり、コードを投稿したりすると、より具体的に試してみることができます。

0

setNeedDisplayは、再描画操作であるdrawRectを呼び出します。コンテンツを更新する場合は、viewControllerでメソッドを1つだけ作成し、スレッドが完了するたびに新しいスレッドを作成した場合はperformSelectorOnMainThreadを使用してこのメ​​ソッドに通知してください。

関連する問題