iOS5 と Xcode 4.3.3 を使用してアプリを開発しています。
UITableViewCellのサブクラスであるCustomCellを使用して作成されたTableViewControllerであるUserTableViewControllerがあります。これまでのところ、すべてがうまく機能しています。
また、これら 2 つのメソッドを実装して、ユーザーのスワイプを取得しました。今のところ、ユーザーがスワイプしたときに削除ボタンを表示できます。
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSDictionary *dictionaryWithUrl = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"Urls" ofType:@"plist"]];
NSString *baseUrl = [dictionaryWithUrl objectForKey:@"urlWithNews"];
baseUrl = [baseUrl stringByAppendingFormat:@"/delete?newsId=%d",[[[self.arrayWithUserNews objectAtIndex:indexPath.row]objectForKey:@"newsId" ]intValue]];
NSURLRequest *requestToDeleteNews = [NSURLRequest requestWithURL:[NSURL URLWithString:baseUrl]];
[NSURLConnection sendSynchronousRequest:requestToDeleteNews returningResponse:nil error:nil];
[self.arrayWithUserNews removeObjectAtIndex:indexPath.row ] ;
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView reloadData];
}
}
さて、私がやりたいのは、スワイプして別の機能を持たせた後、カスタムセルを再作成することです。私が開発しているアプリでは、セルを削除するだけでは不十分です。ユーザーは表のセルも編集できます。これが例です。私が作成したいものです。これは Twitter iOS アプリケーションの例です。
初期セル
ユーザースワイプ後
注意、明確にするために、それらはまったく同じ場所に表示されます。
これを達成するための正しい道を教えてくれる人はいますか?
ありがとうございました。