0

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 アプリケーションの例です。

初期セル


ユーザースワイプ後

ここに画像の説明を入力

注意、明確にするために、それらはまったく同じ場所に表示されます。

これを達成するための正しい道を教えてくれる人はいますか?

ありがとうございました。

4

2 に答える 2

0

このプロジェクトをチェック

それはまさにあなたが望むことをします

于 2012-08-01T16:09:43.150 に答える
0

セルは削除されていません。別のビューがその上に表示されているだけです。カスタム セルを作成してサブクラス化し、横向きのジェスチャーを認識できるようにする必要があります。ジェスチャを検出すると、セルによって表示されるビューを変更します。

于 2012-08-01T14:33:44.017 に答える