ios中UITaleView实现删除移动样式,当手指在每一行上滑动时,会出现删除按钮,并且点击可以实现相应的逻辑。

实现的效果图:

image

实现的代码:

#pragma mark – View lifecycle
- (void)viewDidLoad
{
    [super viewDidLoad];
    [mtableView setEditing:NO animated:YES];

}

- (void)viewDidUnload
{
    [super viewDidUnload];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"点击了编辑");
}
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //
    NSLog(@"手指撮动了");
    return UITableViewCellEditingStyleDelete;
}
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return  @"编辑";
}

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
   
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 2;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   
    /*static NSString *woIndentifier = @"woIndentifier";
   
    WoViewCell *cell = (WoViewCell *)[tableView dequeueReusableCellWithIdentifier:woIndentifier];
    if (cell == nil) {
        NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"WoViewCell" owner:self options:nil];
        cell = [array objectAtIndex:0];
        cell.editingAccessoryType=UITableViewCellEditingStyleDelete;
        cell.showsReorderControl=YES;
    }
    return cell;
     */
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"tag"];
    if (cell==nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                       reuseIdentifier:@"tag"] autorelease];
    }
    cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
    cell.showsReorderControl=YES;
    return cell;

   
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 60;
}

 

注:主要的实现代码就是红色的部分,其它部分是一个table里面必须的一些东西了。

感觉苹果的东西,在苹果的限制下,能够做到苹果的效果。但是,个性化的东西就少了。当然一个程序做起来比其它平台快一下(指的是应用程序)

打印的日志:

2011-06-12 17:11:44.641 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:11:44.643 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:11:44.644 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:02.941 TAQDemo[24497:207] 点击了编辑
2011-06-12 17:17:09.520 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:09.521 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:09.522 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:11.462 TAQDemo[24497:207] 点击了编辑