2009-11-23 76 views
1

我希望把我自己的自定义删除了的UITableView细胞按钮,当它进入编辑模式,类同的“+”,在同样的位置插入添加按钮,只是一个红色的“X” “+”按钮是。我将如何做到这一点?UITableViewCell的自定义删除按钮

+0

有什么不对的标准 “ - ” 按钮? – gerry3 2009-11-23 01:58:37

+0

标准“ - ”按钮位于左侧,点击的时候响起了删除按钮。我想在编辑模式下直接进入自定义删除按钮。我想在这里的“+”按钮,坐在右边这个按钮。 – 2009-11-23 02:31:52

回答

0

万一别人曾经有这样的疑问: 您必须设置editingAccessoryViewUITablViewCell到任何自定义UIView你希望它是。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

+13

该'editingAccessoryView'用于“编辑”模式,这是通过调用'setEditing启用:对细胞或对表animated'。这与滑动显示删除功能不同。如果你看看对的UITableViewCell的'willTransitionToState文档:'方法,你会看到“删除确认”是一个不同的模式,以“显示编辑控件”。 – 2011-10-20 11:25:28

0

试试这个。

UIButton *btnDelete = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)]; 
[btnDelete setImage:[UIImage imageNamed:@"delet.png"] forState:UIControlStateNormal]; 
[btnDelete addTarget:self action:@selector(deleteButtonClicked:event:) forControlEvents:UIControlEventTouchUpInside]; 
cell.accessoryView = btnDelete; 
+0

不上tableViewCell右侧accessoryView的?编辑控件位于左侧。 – 2013-10-10 13:59:16

1

尝试使用单元格willTransitionToState来实现它。

这样在CustomTableCell.m:

- (void)willTransitionToState:(UITableViewCellStateMask)state{ 
    if (state == UITableViewCellStateShowingEditControlMask) { 
     customEditBtn = [[UIButton alloc] initWithFrame:CGRectMake(-32, 0, 42, self.contentView.height)]; 
     customEditBtn.adjustsImageWhenHighlighted = NO; 
     [customEditBtn setImage:_image forState:UIControlStateNormal]; 
     [self.contentView addSubview:customEditBtn]; 

    } 
} 

- (void)didTransitionToState:(UITableViewCellStateMask)state{ 
    [super didTransitionToState:state]; 
    if (state != UITableViewCellStateShowingEditControlMask) { 
     customEditBtn.alpha = 0; 
    } 
}