• 自定义UITableViewCell上的delete按钮


    //滑动列表行(UITableViewCell)出现删除按钮时,默认是英文“delete”,这份代码片段能够将“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;   
            }   
        }   
    }
  • 相关阅读:
    职业规划——第1.0章、模拟面试的小记(一)
    菜鸟VUER学习记——零0章、打开新的大门
    职业规划——第0章、哇,原来需要的这么多
    经营自己,愈发强大——《软技能——代码之外的生存指南》读后感
    如何阅读一本书
    Java开发规范
    JVM堆和栈的区别
    2016年7月书单推荐
    web性能优化——代理(nginx)
    web性能优化——浏览器相关
  • 原文地址:https://www.cnblogs.com/-ios/p/4670230.html
Copyright © 2020-2023  润新知