zoukankan      html  css  js  c++  java
  • 自定义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;   
            }   
        }   
    }
  • 相关阅读:
    临时禁用大型列表上的列表视图阈值
    临时禁用大型列表上的列表视图阈值
    SharePoint Foundation 2010 托管客户端对象模型概述 创建 Windows 控制台托管的客户端对象模型应用程序
    如何隐藏MOSS2010的网站操作菜单
    MOSS2010的列表视图参数设置以及列表记录样式设置
    使用SharePoint Server 2010搜索PDF文档
    Sharepoint2010如何使用Linq to Sharepoint
    水晶報表字段超鏈結4/28
    4月21自考4/23
    [轉]統籌方法華羅庚
  • 原文地址:https://www.cnblogs.com/allanliu/p/4246517.html
Copyright © 2011-2022 走看看