用户滑动时重新创建自定义单元格

时间:2012-08-01 14:15:51

标签: objective-c ios uitableview

我正在使用iOS5和Xcode 4.3.3开发应用程序。

我有一个 UserTableViewController ,这是一个 TableViewController ,它是使用 CustomCell 创建的,它是 UITableViewCell 的子类。到目前为止,Everything工作正常。

我还实现了这两种方法来获取用户滑动。现在,我可以在用户滑动时显示删除按钮。

- (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应用程序示例。他们完成了我所需要的。

初始细胞


用户滑动后

enter image description here

注意,只是为了清楚,它们看起来完全一样。

有没有人可以给我正确的道路来实现这一目标?

谢谢。

2 个答案:

答案 0 :(得分:0)

单元格没有被删除,它只是显示另一个视图。您需要创建一个自定义单元格,将其子类化,然后才能识别侧面手势。检测到手势时,请更改单元格显示的视图。

答案 1 :(得分:0)

查看this project

它完全符合您的要求