逐行删除

时间:2011-11-02 18:37:11

标签: ios xcode uitableview tags

我目前正在尝试创建一种tasktracker ..以下代码目前正常工作,但我需要它删除带有按钮标记的行..换句话说。

当按下带有标记:0的按钮时,删除带有标记的行:0

我所有的努力都失败了,所以我把它带给了专家。

 - (void)buttonPressedAction:(id)sender
    {
        UIButton *button = (UIButton *)sender;
        NSInteger *row = button.tag;
        NSString *cleanedUp = [NSString stringWithFormat:@"%d", row];
            if(button.titleLabel.text == @"Unchecked"){
            [button setTitle:@"Checked" forState:UIControlStateNormal];
        }
        else{
            [button setTitle:@"Unchecked" forState:UIControlStateNormal];
        }
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:button.titleLabel.text 
                                                        message:cleanedUp
                                                       delegate:nil 
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];

    }

1 个答案:

答案 0 :(得分:1)

UITableViewbuilt-in capabilities to allow the deletion行。这可能更适合您想要完成的事情。这是一个example

要使用自定义按钮,您需要使用beginUpdatesendUpdates来修改动态的表格视图。

NSInteger row = button.tag;
[tableView beginUpdates];
//make sure you remove the row from your datasource 
//as well or an exception will be raised
[self.datasource removeObjectAtIndex:row]
[deleteRowsAtIndexPaths:[NSIndexPath indexPathForRow:row inSection:0]
       withRowAnimation:UITableViewRowAnimationFade];

[tableView endUpdates];