UITableViewCell サブビューでフレームの変更をアニメーション化するためのベスト プラクティスはありますかreloadData
。
例:UIView
カスタムのサブビューとしてシンプルなものUITableViewCell
があり、サブビューは行幅全体の数% を占めています。これの幅の変更をアニメーション化したいUIView
(コンテナー ビュー、UITableViewCell コンテンツ ビューは同じまま) が、リロードせずにアニメーション オプションをリロードすると、サブビューのフレームのサイズがスムーズに変化することが表示されないためです。私は…したい。
UIView
私の最初の解決策は、可視セルを反復処理し、アニメーション ブロックを使用して各フレームを手動で変更することでした。
for (CustomCell *cell in [self.tableView visibleCells]])
{
CGRect newFrame = CGRectMake(0.0,0.0,10.0,0.0); // different frame width
[UIView animateWithDuration:0.5 animations:^{
cell.block.frame = updatedFrame; // where block is the custom subview
}];
}
しかし、これは iOS7 では機能しているように見えますが、iOS6 ではファンキーでトラブルシューティングが困難なグラフィックのねじれにつながっています。すべてのセルを反復処理するのはやり過ぎのようです。
これを行うための最良の方法に関する推奨事項はありますか?