UITableViewCell のサブクラスがあり、イベントが発生したときにいくつかのカスタム アニメーションを提供したいと考えています。私は同じアニメーションを受け取り続けた理由を理解するのに苦労してきました (私は UITableViewRowAnimationFade を想定しています。セルが消えて、その下のセルがスライドしただけです)。最終的に問題を掘り下げることにしました。セルのサイズを 320 未満に設定すると (または、現在表示している画面のサイズとまったく同じであると想定しています)、このデフォルトのアニメーションにフォールバックすることがわかりました。
カスタム セルはフローティング ボックスのようなもので (セクションごとに 1 つのセルがあり、多くのセクションがあります)、そのように設定します。
self.frame = CGRectMake(5, self.frame.origin.y, 310, self.frame.size.height);
self.contentView.frame = CGRectMake(0, 0, 310, self.frame.size.height);
しかし、毎回デフォルトのアニメーションを取得します。に変更すると
self.frame = CGRectMake(5, self.frame.origin.y, 320, self.frame.size.height);
self.contentView.frame = CGRectMake(0, 0, 320, self.frame.size.height);
さまざまなアニメーションがうまく機能します。
これがなぜなのか、誰にも手がかりがありますか?このように動作することを意図しており、セルのセットアップ方法を変更する必要があるか、回避策があるかどうか疑問に思っています。
ありがとう。
編集:スクリーンショット