これは馬鹿げた質問のように聞こえるかもしれませんが、どこでも見ました。これどうやってするの?
私はswype-to-deleteメソッドでこれを行う方法を知っていますが、その機能の外でそれを行う方法はありますか?
いくつかのコードサンプルを投稿してください。
ありがとう!
コールトン
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.tableView deleteRowsAtIndexPaths:deleteIndexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
insertIndexPaths
は、テーブルに挿入されるNSIndexPathの配列です。
deleteIndexPaths
は、テーブルから削除されるNSIndexPathの配列です。
インデックスパスの配列形式の例:
NSArray *insertIndexPaths = [[NSArray alloc] initWithObjects:
[NSIndexPath indexPathForRow:0 inSection:0],
[NSIndexPath indexPathForRow:1 inSection:0],
[NSIndexPath indexPathForRow:2 inSection:0],
nil];
In Swift 2.1+
tableView.beginUpdates()
tableView.deleteRowsAtIndexPaths([YourIndexPathYouWantToDeleteFrom], withRowAnimation: .Fade)
tableView.insertRowsAtIndexPaths([YourIndexPathYouWantToInsertTo], withRowAnimation: .Fade)
tableView.endUpdates()
NSIndexPathは次のように簡単に作成できます。
NSIndexPath(forRow: 0, inSection: 0)
次の2つのメソッドが必要です:insertRowsAtIndexPaths:withRowAnimation:
およびdeleteSections:withRowAnimation:
これらは両方とも ITableViewドキュメント で詳しく説明されています。
Swift 4.0
tableView.beginUpdates()
tableView.deleteRows(at: [YourIndexPathYouWantToDeleteFrom], with: .fade)
tableView.insertRows(at: [YourIndexPathYouWantToInsertTo], with: .fade)
tableView.endUpdates()
IndexPathを作成するには、これを使用します。
IndexPath(row: 0, section: 0)