如何设置objective-c ios5中的默认删除按钮?

时间:2012-06-09 01:16:43

标签: objective-c ios5

我需要在目标c,ios5中的tableview单元格上设置默认删除按钮的样式。一般的想法是假设你可以做这样的事情:

    UIImage *addImage = [UIImage imageNamed:@"greenButtonDark.png"];
    UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
    addButton.frame = CGRectMake(0, 0, addImage.size.width, addImage.size.height);

    [addButton setImage:addImage forState:UIControlStateNormal];
    [addButton addTarget:self action:@selector(pushAddItem) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *addBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:addButton] ;

    self.navigationItem.rightBarButtonItem = addBarButtonItem;

上面的代码在viewDidLoad方法中调用,并覆盖标题中的右键。我假设系统默认添加了任何按钮,但我不知道如何访问这个按钮。

如果我没有说清楚这一点,我所指的删除按钮是使用此代码自动生成的按钮...

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(editingStyle == UITableViewCellEditingStyleDelete)
    {
        //do something when someone hits delete
    }
}

如果我需要澄清任何事情请告诉我。感谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

看看这个答案iPhone UITableView - Delete Button,它基本上应该回答你的问题。简而言之,您可能需要子类 UITableViewCell 并覆盖 - (void)willTransitionToState:(UITableViewCellStateMask)状态 - (void)didTransitionToState:(UITableViewCellStateMask)状态< / em>并在此处修改按钮。

另一个替代方案可能是继承 UITableViewCell 并自己实现删除按钮功能(识别滑动手势,按下按钮并处理按下的方式与 UITableView的默认方法类似委托确实)。