iOS TableViewcell 全選刪除
阿新 • • 發佈:2019-01-01
1.tableview建立
**//測試陣列
self.dateArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];
//設定tableview
self.myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 52, self.view.width, self.view.height)];
self.myTableView.delegate = self;
self .myTableView.dataSource = self;
self.myTableView.backgroundColor = RGBCOLOR(239, 240, 241);
//取消cell線
//self.myTableView.separatorStyle = UITableViewCellSelectionStyleNone;
//self.myTableView.editing = NO;
[self.view addSubview:self.myTableView];
**
2.tableview代理函式
#pragma mark 設定行數 rows
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.dateArray.count;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
![圖片展示1](http://img.blog.csdn.net/20161111112142105)
#pragma mark 建立tableviewcell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *myCell = @"mycell";
MyCollectTabView *cell = [tableView dequeueReusableCellWithIdentifier:myCell];
if (cell == nil) {
cell = [[MyCollectTabView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:myCell];
}
//cell的點選效果
//cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
#pragma mark 允許對cell進行編輯
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
//cell 編輯設定
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[self.dateArray removeObjectAtIndex:indexPath.row];
[self.myTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
}
}
#pragma mark 點選tableviewcell
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"點選第幾行 row == %ld",indexPath.row);
}
#pragma mark 設定cell高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return FIXWIDTHORHEIGHT(90);
}
3.自己建立一個全選按鈕,我只給一個呼叫的函式
-(void)btnAllSelectAction:(UIButton *)sender
{
sender.backgroundColor = RGBCOLOR(239, 240, 241);
//通過遍歷所有並選擇
for (int row=0; row<10; row++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];
[self.myTableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
}
4.刪除就把資料的data陣列清空就可以了,如果不是全部要用陣列記錄一下
**
有一個需要注意的地方,全選時候內容整體向右滑動一小塊
就是把tableviewcell中的img或者label 都放在 cell的 contentView上面就好了
**