セルのimageViewプロパティを1つずつ飛ばすにはどうすればよいですか?
私は今、それらを飛ばすことができますが、一度にしかできません。
そして、このようなことをすることはパフォーマンスにとって良いことですか?
セルのimageViewプロパティを1つずつ飛ばすにはどうすればよいですか?
私は今、それらを飛ばすことができますが、一度にしかできません。
そして、このようなことをすることはパフォーマンスにとって良いことですか?
を使用しindexPath.row
て遅延を計算します。
float animationDelay = 0.2f;
[UIView animateWithDuration:0.3f
delay:animationDelay * indexPath.row
options:0
animations:^{
cell.imageView.transform = CGAffineTransformMakeScale(1.0f, 1.0f);
} completion:^{}];
これにより、すべての行がその上の行に比べて 0.2 秒遅れます。もちろん、これは最初にテーブルをロードするときにのみ機能しますが、これはあなたがアニメーション化しようとしているものだと思いますか? スクロールを開始して新しいセルが読み込まれると、おそらく遅延をゼロに設定する必要があります。そうしないと、画像が表示されるまでに時間がかかります。
これを実現するには、最初に (またはメソッドで)に設定されているBOOL
ivarを導入することをお勧めします。次に、テーブルが初めて表示されるときにそれを設定できます。セルを作成するときは、最初にこの変数をチェックして、遅延を追加する必要があるかどうかを確認する必要があります。loadingTheFirstTime
YES
init
awakeFromNib
NO
私はあなたがここにいると思っていましたcellForRowAtIndexPath:
。それを使用してアニメーションを変更します:
[UIView animateWithDuration: 3.0
delay: indexPath.row
options: UIViewAnimationCurveLinear
animations: ^{
cell.imageView.transform = CGAffineTransformMakeScale(1.0f, 1.0f);
}
completion:^(BOOL finished) {
}];
アニメーションは 1 秒間隔で読み込まれます。この関数に参加していない場合は、作成時にセルにタグを設定し、そのタグを遅延に入れます。
おそらく、すべてのセルを実行し、ループを介して毎回アニメーションを実行する for ループがあるメソッドを設定しますか? パフォーマンスに関しては、私にはわかりません。特にセルが多い場合は、パフォーマンスが向上するとは思いませんが、いつでも試して調べることができます! :)