0

cells同時にコンテンツをアニメーション化することに問題があります。セルが表示されなくなる (ユーザーがテーブルをスクロールした) と、アニメーションがフリーズします。セルが再び表示されると、アニメーションが続行されます。

すべてのセルは別のメソッドで事前計算され、 に格納されるNSMutableArrayため、cellForRowAtIndexPathメソッドは次のようになります。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [_precomputedCells objectAtIndex:indexPath.row];
}

配列を埋めるメソッドは、_precomputedCells各セルのすべてのアニメーションも起動します。

セルが表示されているかどうかに関係なく、すべてのアニメーションが再生されていることをどのように保証できますか?

4

1 に答える 1

1

問題はUITableView、ビュー階層から非表示のセルを削除することです。そのため、アニメーションは停止します。

明らかな解決策は、UIScrollViewの代わりに使用することですUITableView。少し多くの作業が必要ですが、それほど複雑ではありません。

別の解決策は、現在のセル アニメーションを削除し、セルが表示されたら、UITableViewデリゲート メソッドなどを使用してアニメーションを再開することtableView:willDisplayCell:forRowAtIndexPath:です。

于 2013-06-03T11:19:18.297 に答える