2011-07-03 6 views
2

カスタムUITableViewCellを作成しました。私のカスタムセルの内容は、現在の記事の画像用のImageViewです。作成時に、セルイメージがインターネットからロードされ、UIImageViewに表示されます。 ActivityIndi​​catorViewを使用してプロセスをフェードアウトするにはどうすればよいですか?UIActivityIndi​​catorViewを使用して画像読み込みプロセスをフェードインする方法はありますか?

私はこの悪い英語のために申し訳ありません:-)私はオンライン翻訳を使用します。

答えて

1

あなたが正しく理解していれば、UIImageView(完全にダウンロードされたもの)が完全にダウンロードされるとフェードインしたいようです。ダウンロード中は回転するUIActivityIndi​​catorViewホイールを表示します。ここで

は、私がお勧めです:

1)の代わりに、具体的UIImageViewとしてあなたのテーブルセル内のカスタムビューを定義するだけより一般的なのUIViewを使用しています。これは、両方のクラス(UIImageViewおよびUIActivityIndi​​catorView)がサブクラスであり、そのように設定できるためです。

2)まず、任意のすべてのセルについて、UIViewをUIActivityIndi​​catorViewに設定します(「startAnimating」を使用して回転させることを忘れないでください)。その後、ダウンロード完了のコールバック関数については、適切なセルを選択し、そのカスタムUIViewをダウンロードしたUIImageViewに設定します。

3)以下のコードを見て、実際にフェードを達成するために:

// Sets the image completely transparent 
imageView.alpha = 0.0f; 

// Animates the image to fade in fully over 1.0 second 
[UIView animationWithDuration:1.0f animations:^{ 
    imageView.alpha = 1.0f; 
}]; 

4)あなたは、それが新しいイメージビューを設定した後、サブビューだリフレッシュするために、表のセルに「setNeedsDisplay」を呼び出す必要がありますアニメーションを作成する前に

関連する問題