誰かがUITableView
アニメーションの問題で私を助けることができますか?
デフォルトでは、セルを削除してUITableView
にセルを並べ替えるアニメーションがあります。
セルを追加するアニメーションを作成できますか?.
私はチェックアウトしましたThree2、Twitter
がMyProfile> ReTweetsでテーブル展開アニメーションをどのように実行したかを取得できませんでした。
UITableView
の既存のアニメーションを使用してThree20 frameowrk,
なしで試してみたいと思います。
次のUITableViewメソッドを使用できます。
- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
Self.dataSourceが可変配列で、テーブルにセクションが1つしかない例:
[self.dataSource addObject:@"New Item"];
NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:[self.dataSource count]-1 inSection:0];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
注:NSIndexPathのインデックスはゼロであるため、データソースカウントから1を減算します。
テーブルビューのデータソースである配列の例
_var myArray = ["Cow", "Camel", "Sheep", "Goat"]
_
以下は、テーブルビューの上部にアニメーション付きの行を追加します。
_// add item to current array
myArray.insert("Horse", atIndex: 0)
// insert row in table
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
_
複数の更新
複数の挿入や削除を行う必要がある場合は、それらをbeginUpdates()
およびendUpdates()
で囲みます。
_tableView.beginUpdates()
tableView.insertRowsAtIndexPaths([addIndexPath1, addIndexPath2, ...], withRowAnimation: .Fade)
tableView.deleteRowsAtIndexPaths([deleteIndexPath1, deleteIndexPath2, ...], withRowAnimation: .Fade)
tableView.endUpdates()
_
さらに読む
ReloadRowsAtIndexPaths:indexPathを使用します
tableView.beginUpdates()
[tableView reloadRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
tableView.endUpdates()
これがお役に立てば幸いです。