1

私は次の問題を抱えています:

サブビューとして UIScrollView を含む UIView があります。(ニブファイル)。プログラムでいくつかのサブビュー (UIImageView) を UIScrollView に追加します。各 UIImageview にはネットから非同期的に読み込まれた画像が含まれているため、画像がダウンロードされたときに scrollView を更新する必要があります。画像の取得を担当するクラスで、このコードを使用して、scrollView を管理する View コントローラーを宣伝します。

[[(MosaicViewController *)data] scrollView setNeedsDisplay];

Ivar データは、ViewController へのポインタです。このようなことは機能せず、scrollView のリロードは発生しません 確実に呼び出しがトリガーされるようにするために、viewController 内に scrollView を含むメソッドを記述し、このメソッド内で setNeedsDisplay を呼び出しました。

[(MosaicViewController *)data updateView];

-(void) updateView
{
    NSLog(@"setNeedsDisplay");
    [self.scrollView setNeedsDisplay];
}

メソッド updateView は正しくトリガーされます。つまり、各画像がダウンロードされた後に呼び出されますが、scrollView の内容は更新されません。scrollView を含む ViewController では、drawRect メソッドを実装していません。これが、setNeedsDisplay を呼び出した後に更新されない理由でしょうか?

ヘルプ/提案/参照などは大歓迎です よろしくお願いします

4

1 に答える 1

-4

おい、あなたはimageView.image =downloadedImageをやっていますか??

また、scrollViewで何も変更していないため、[self.scrollView setNeedsDisplay]を実行する必要はありません!!

変更されたのは、imageView と imageView.image =downloadedImage の内容で、imageView で setNeedsDisplay が自動的にトリガーされます!!

その他のチェックポイント

scrollView は表示されますか? scrollView.contentSize は設定されていますか?? scrollView フレームは正しいですか??

于 2011-12-17T06:26:53.347 に答える