私はiOS 4以上を対象としたアプリを持っています。カスタムビューを持っています。
1.Scrollビュー
2.カスタム描画がスクロールビュー内にあります。マルチタスクから復帰するときにビューを更新するには?
私のアプリがバックグラウンドから再開するとき、このスクロールビューをリフレッシュ/リロードしたいと思います。 通常はカスタム図面を読み込むためのsetNeedsDisplayはここでは機能しません。ここではスクロールビューのコンテンツをリロードします。
ありがとうございます。
私はiOS 4以上を対象としたアプリを持っています。カスタムビューを持っています。
1.Scrollビュー
2.カスタム描画がスクロールビュー内にあります。マルチタスクから復帰するときにビューを更新するには?
私のアプリがバックグラウンドから再開するとき、このスクロールビューをリフレッシュ/リロードしたいと思います。 通常はカスタム図面を読み込むためのsetNeedsDisplayはここでは機能しません。ここではスクロールビューのコンテンツをリロードします。
ありがとうございます。
viewDidAppearの中で再描画を試みましたか?私が正しくあなたの質問を理解していればあなたは「リロード」UIScrollView
が再描画を行う前に処理するデータする必要があるため
- (void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[yourScrollView setNeedsDisplay];
}
、setNeedsDisplay
は、この場合には、あなたのために動作しません。
これが正しい場合は、リロード部分を実行するコントローラ内のメソッドを定義します。次に、私はapplicationDidEnterForeground
またはapplicationWillEnterForeground
からこのメソッドを呼び出します。リロードメソッドはデータをリロードした後にsetNeedsDisplay
を呼び出す必要があります。
この回答が非常に一般的であると思われる場合は、申し訳ありません。より多くのことを説明したり、コードを投稿したりすると、より具体的に試してみることができます。
setNeedDisplayは、再描画操作であるdrawRectを呼び出します。コンテンツを更新する場合は、viewControllerでメソッドを1つだけ作成し、スレッドが完了するたびに新しいスレッドを作成した場合はperformSelectorOnMainThreadを使用してこのメソッドに通知してください。
ビューが既に作成されているため、これは機能しません。アプリケーションはバックグラウンドから再開しています。 –
次に、applicationDidEnterForegroundで同じことを行うことができます –