UITableViewCell上的删除按钮(tableView自带的和自定义的)
来源:互联网 发布:caffe视频教程百度云 编辑:程序博客网 时间:2024/05/29 04:03
#import "ViewController.h"
@interface ViewController () <UITableViewDataSource,UITableViewDelegate>
@property (nonatomic,strong)UITableView *table;
@property (nonatomic,strong)NSMutableArray *array;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
_table = [[UITableViewalloc]initWithFrame:self.view.boundsstyle:UITableViewStylePlain];
_table.delegate = self;
_table.dataSource = self;
[self.viewaddSubview:_table];
_array =[NSMutableArrayarrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",nil];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _array.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
staticNSString *RootViewControllerCell =@"RootViewControllerCell";
UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:RootViewControllerCell];
if(cell ==nil)
{
cell = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:RootViewControllerCell];
cell.frame =CGRectZero;
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeCustom];
[button setTitle:@"删除"forState:UIControlStateNormal];
[button setTitleColor:[UIColorredColor]forState:UIControlStateNormal];
[button setFrame:CGRectMake(280,10,100,30)];
[button addTarget:selfaction:@selector(btnClick:)forControlEvents:UIControlEventTouchUpInside];
[cell.contentViewaddSubview:button];
}
cell.textLabel.text = [_array objectAtIndex:[indexPath row]];
//记录tag值,以便自定义删除的时候可以获取到单元格
cell.tag = [indexPath row];
return cell;
}
//自定义删除
-(void)btnClick:(UIButton *)button
{
// 获取当前cell
UITableViewCell *cell = (UITableViewCell *)deleteBtn.superview;
[_array removeObjectAtIndex:[cell tag]]; // 定义按钮的功能,现在为删除
//延迟删除,防止数据错乱
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[_table reloadData];
});
}
//系统自带删除
//1.将删除标识换成文字
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return@"删除";
}
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
//设置编辑模式为删除模式
if (editingStyle ==UITableViewCellEditingStyleDelete) {
UIAlertController *alert = [UIAlertControlleralertControllerWithTitle:@"提示"message:@"确定要删除该商品?删除后无法恢复!"preferredStyle:1];
UIAlertAction *okAction = [UIAlertActionactionWithTitle:@"确定"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction *_Nonnull action) {
[_arrayremoveObjectAtIndex:indexPath.row];
// 删除
[tableView deleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationFade];
//延迟0.5s刷新一下,否则数据会乱
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 *NSEC_PER_SEC)),dispatch_get_main_queue(), ^{
[_table reloadData];
});
}];
UIAlertAction *cancel = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:nil];
[alert addAction:okAction];
[alert addAction:cancel];
[selfpresentViewController:alertanimated:YEScompletion:nil];
}
if (dataArray.count ==0) {
[selfcartEmptyShow];
}
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
- UITableViewCell上的删除按钮(tableView自带的和自定义的)
- 自定义UITableViewCell上的删除按钮
- 自定义Tableview 右滑自带的 Delete按钮
- 修改UITableViewCell左滑删除按钮的样式和自定义
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义UITableViewCell上的delete按钮
- 自定义tableView cell的删除按钮
- UITableViewCell:隐藏删除按钮和设置删除按钮的标题
- Android 实现自定义自带删除按钮的EditText(带有搜索接口)
- 自定义带删除按钮的EditText
- 自定义带删除按钮的EditText
- 自定义带删除按钮的imageview
- 自定义一个带删除按钮的ListView
- 自定义带删除按钮的文本框
- spring mvc实现简单上传文件
- 【iOS开发】如何将 iOS 项目的编译速度提高5倍
- eclipse的web工程转换
- Android RecyclerView 的基本使用
- Mysql命令大全
- UITableViewCell上的删除按钮(tableView自带的和自定义的)
- Python 并行分布式框架之 Celery
- MongoDB Windows环境安装及配置
- airflow 解决安装问题 OSError: [Errno 2] No such file or directory
- 大文件上传 显示进度
- Selenium学习笔记18-问题汇总
- 自动化测试
- 第 13 章 红黑树
- Spring MVC RedirectAttributes的用法