私はUITableView
次のレイアウトで持っています
TableView
-> CustomCell
--> CustomLabel
@property (nonatomic) bool animated;
私のカスタムラベルには、プロパティがYES
の場合はアニメーション化されたコンテンツを描画し、そうである場合はアニメーションなしでコンテンツを描画する描画コードがありますNO
。
デフォルトbool animated
はNO
です。
したがって、テーブルビューが最初にデータをロードしてセルを再描画すると、コンテンツはアニメーションなしで描画されます。
今、これは私が動けなくなるところです。
私が求めている効果は、ユーザーがセルをクリックすると、セルのデータが更新され、コンテンツが再描画されてアニメーション化されることです。
私はこのようにこれをトリガーします、
[sender setTitle:newValue forState:UIControlStateNormal];
cell.noteTitle.animated = YES;
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:pathOfTheCell, nil] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
問題は、私が設定している間、
cell.noteTitle.animated = YES;
私が電話するとき
cell.noteTitle.animated = YES;
CustomCell
これは、上記で説明したように、の新しいインスタンスを作成するようanimated = NO
です。
だから私の質問はこれです、どうすれば私のカスタムセルを描画することができますか?テーブルがセルをロードするときはアニメーション化されませんが、ユーザーがセル値を変更するときにアニメーション化されます。