`

自定义UITableViewCell上的delete按钮

阅读更多
//通过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即可
 
//这只是让默认的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;    
        }    
    }    
}

 

分享到:
评论

相关推荐

    ios-Cell自定义滑动删除按钮.zip

    本项目“ios-Cell自定义滑动删除按钮”就是针对UITableViewCell的滑动删除功能进行了自定义,旨在为用户提供更加个性化的交互体验。在实际应用中,自定义滑动删除按钮可以增加应用的独特性,提升用户体验。 首先,...

    UItableview cell (自定义)增假,删除 移动

    自定义UITableViewCell主要是为了实现更丰富的视觉效果和交互功能。首先,你需要创建一个继承自UITableViewCell的子类,并在Xcode中设计它的界面,通常包括IBOutlet连接和对应的IBAction事件处理。在子类中,重写`...

    UITableViewCell左右左右滑动删除

    1. **自定义UITableViewCell**:首先,你需要创建一个自定义的 `UITableViewCell` 类,继承自 `UITableViewCell`。在这个类中,你可以添加额外的视图或者属性来支持滑动操作。 2. **手势识别**:添加 `...

    swift-MGSwipeTableCell一个易于使用的UITableViewCell子类允许显示具有各种转场效果的可滑动按钮

    MGSwipeTableCell的核心功能在于它能够轻松地添加左滑和右滑的按钮到UITableViewCell中,这些按钮可以自定义颜色、图标以及触发的事件。这种设计极大地增强了用户与表格数据的互动性,比如可以用来快速处理邮件、...

    tableview 的滑动删除

    在iOS中,这个功能主要通过UITableView的代理方法和自定义UITableViewCell来完成。在`UITableViewDataSource`中,你需要提供`tableView(_:commit:forRowAt:)`方法,该方法会在用户完成滑动操作后被调用,用于处理...

    自定义删除单元格

    为了实现自定义的删除按钮,我们可以创建一个UIButton,设置其图片和大小,并将其添加到单元格的contentView上。在滑动时,我们可以调整button的显示状态。可以使用手势识别器(如UISwipeGestureRecognizer)或监听`...

    tableView滑动删除更多

    总之,“tableView滑动删除更多”的实现涉及到UITableViewDelegate的多个方法,以及自定义UITableViewCell和视图的交互设计。通过这个示例,开发者不仅可以学习到基本的滑动删除功能,还能了解到如何扩展功能,提供...

    UITableView (add&delete)

    2. **自定义UITableViewCell**:为了实现特定的显示效果,我们可能需要创建自定义的UITableViewCell子类。在这个Demo中,可能会定义一个包含添加和删除按钮的自定义单元格。 3. **添加数据**:添加数据通常涉及到...

    ios-滑动删除.zip

    2. 自定义UITableViewCell:为了支持滑动删除,你可能需要自定义UITableViewCell,尽管默认的样式已经包含了滑动删除的功能。在自定义单元格时,确保它包含了需要显示的信息,并且布局合理。 3. 开启编辑模式:调用...

    swift-模仿类似聊天的UI

    总结来说,实现"swift-模仿类似聊天的UI"需要理解并掌握UITableView的数据源和代理方法,自定义UITableViewCell,以及动态更新表格内容的技巧。通过这些技术,你可以创建一个类似映客App的聊天室界面,展示和管理...

    tableView 左边的按钮

    当我们谈论“tableView 左边的按钮”时,通常是指在`UITableView`的cell上实现的滑动手势,即“滑动删除”功能。这个功能允许用户通过向左滑动单元格来显示一个或多个操作按钮,比如“删除”、“编辑”等。 实现...

    swift-TableViewCell图文混排图片大小自适应

    1. 自定义UITableViewCell的子类,其中包含了自适应图片视图和各种功能按钮的实现。 2. 数据模型类,用于存储每行的文本和图片信息,以及与编辑功能相关的状态。 3. UITableViewDataSource和UITableViewDelegate的...

    cell左划删除方便自己拓展

    总之,通过自定义UITableViewCell和实现UITableViewDelegate协议的方法,我们可以创建一个可扩展的左滑删除功能,同时支持多选操作。这种方式不仅避免了对第三方库的依赖,还为我们提供了更大的灵活性,以满足项目中...

    用 UITableView 进行多选的代码例子

    最后,为了提供视觉反馈,我们还需要自定义UITableViewCell,以便在被选中时显示选中状态。可以通过重写`setSelected(_:animated:)`方法来实现: ```swift override func setSelected(_ selected: Bool, animated: ...

    UITUITableViewCell 的左滑动删除和cell按钮的点击事件

    首先,我们要理解左滑动删除(Swipe to Delete)是iOS系统自带的一种交互方式,允许用户通过在单元格上向左滑动来显示一个删除按钮。这个功能可以通过`UITableViewDelegate`协议中的`tableView(_:commit:forRowAt:)`...

    UITableView删除功能(非编辑模式)更新版本

    2. **自定义单元格**:如果需要,可以自定义UITableViewCell以添加一个删除按钮或者使用手势识别器来检测滑动操作。当用户触发删除操作时,这个按钮或手势会发送一个通知给委托。 3. **实现删除方法**:在...

    ios-cell单选或者多选删除.zip

    为了实现单选或多选,我们需要自定义UITableViewCell,添加选中状态的标识,例如一个复选框或颜色变化。 2. **单选与多选逻辑** - **单选**:在单选模式下,用户每次点击一个单元格,该单元格会被选中,而之前选中...

    iphone ipad TableViewExample.zip

    你可以自定义UITableViewCell的子视图和布局,以展示不同的内容。 5. 数据源方法: - `tableView(_:numberOfRowsInSection:)`:返回指定section内的行数。 - `tableView(_:cellForRowAt:)`:为指定索引路径的行...

    ios UITableView 自定义右滑删除的实现代码

    实现自定义右滑删除的核心思路是利用UITableViewCell内的UIScrollView,通过监听滚动事件来控制删除按钮的显示和隐藏。以下是实现步骤: 1. **创建UITableViewCell子类**:创建一个新的UITableViewCell子类,并在...

Global site tag (gtag.js) - Google Analytics