自定义UITableViewCell上的delete按钮
来源:互联网 发布:帝国cms自定义模型 编辑:程序博客网 时间:2024/05/20 06:31
1.通过UITableViewDelegate方法可以实现删除 tableview中某一行
//滑动删除
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
[bookInforemoveObjectAtIndex:row];//bookInfo为当前table中显示的array
[tableView deleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationLeft];
}
此时删除按钮为Delete,如果想显示为“删除” 中文的话,则需要实现UITableViewDelegate中的- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath方
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{ return @"删除"; }或者,最简单的方式,将plist中的Localization native development region改为China即可
2.这只是让默认的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; } } }
效果如下:
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的删除按钮
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell上的按钮点击事件处理
- 自定义UITableViewCell 上的多个按钮点击事件处理
- 自定义UITableViewCell 上按钮点击事件处理
- UITableViewCell上的删除按钮(tableView自带的和自定义的)
- UITableViewCell上的按钮点击事件处理
- anroid4.0编译 error: variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]
- 虚拟网卡 TUN/TAP 驱动程序设计原理
- android 文件MD5加密 对SD卡的操作
- 告诉你如何用C#写出iOS与Android应用
- Exception starting filter struts2 (转载)
- 自定义UITableViewCell上的delete按钮
- python 集合
- c#读写共享内存操作函数封装
- Java 6 中自带的 Java DB(derby) 数据库
- 常用汇编指令
- Oracle索引相关
- Nginx 使用中文URL,中文目录路径
- 将CDialog完美转换成CDialogBar
- const c