自定义UITableView中Delete操作的按钮
以前写过一篇文章:修改UITableView中Delete操作的默认按钮,这只是让默认的Delete按钮显示成了中文的删除按钮而已,如果想将这个删除按钮换成其他图片形式的,怎么办呢?
?
看一下下面的实现。
?
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *RootViewControllerCell = @"RootViewControllerCell";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:RootViewControllerCell];if(cell == nil){cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:RootViewControllerCell]autorelease];UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];[button setBackgroundImage:[UIImage imageNamed:@"delete.png"] forState:UIControlStateNormal];[button setFrame:CGRectMake(280, 10, 30, 30)];[button addTarget:self action:@selector(del:) forControlEvents:UIControlEventTouchUpInside];[cell.contentView addSubview:button];}cell.textLabel.text = [array objectAtIndex:[indexPath row]];cell.tag = [indexPath row];NSArray *subviews = [cell.contentView subviews];for(id view in subviews){if([view isKindOfClass:[UIButton class]]){[view setTag:[indexPath row]];[cell.contentView bringSubviewToFront:view];}}return cell;}-(void)del:(UIButton *)button{NSArray *visiblecells = [self.table visibleCells];for(UITableViewCell *cell in visiblecells){if(cell.tag == button.tag){[array removeObjectAtIndex:[cell tag]];[table reloadData];break;}}}
?
效果图:
?