zoukankan      html  css  js  c++  java
  • UITableview cell 的多选

    利用NSMutableDictionary  key值 来改变cell的状态

    -(void)createUI{


        table = [[UITableView alloc]initWithFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height/2.0) style:UITableViewStylePlain];
        [table setSeparatorStyle:UITableViewCellSeparatorStyleNone];
        table.delegate = self;
        table.dataSource = self;
        [self.view addSubview:table];


    }
    -(void)createData{
      
        dataArr = [[NSMutableArray alloc]init];
        SelectArr = [[NSMutableArray alloc]init];
        
        for (int i=0; i<50; i++) {
            NSString * string = [NSString stringWithFormat:@"测试数据%d",i];
            [dataArr addObject:string];
            NSMutableDictionary * dic = [[NSMutableDictionary alloc]init];
            [dic setObject:@"no" forKey:@"key"];
            [SelectArr addObject:dic];
        }
    }

    -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        
        static NSString * stri = @"str";
        UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:stri];
        if (cell == nil) {
            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:stri];
        }
        cell.textLabel.text = dataArr[indexPath.row];
        cell.textLabel.textAlignment = NSTextAlignmentCenter;

        //多选
        NSString * string = [NSString stringWithFormat:@"%@",SelectArr[indexPath.row][@"key"]];

       //可随意更改 图片或者按钮状态
        if (![string isEqualToString:@"no"])
        {
            cell.accessoryType =UITableViewCellAccessoryCheckmark;
        }else
        {
            cell.accessoryType =UITableViewCellAccessoryNone;
        }
        return cell;
    }


    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        
        return  dataArr.count;
    }
    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
        
        return 40;
    }


    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     
        UITableViewCell *cell = [table cellForRowAtIndexPath:indexPath];
        cell.backgroundColor=[UIColor whiteColor];
        //多选
        NSString * string = [NSString stringWithFormat:@"%@",SelectArr[indexPath.row][@"key"]];
        if ([string isEqualToString:@"no"]) {
            [SelectArr[indexPath.row] setValue:@"yes" forKey:@"key"];
        }else{
            [SelectArr[indexPath.row] setValue:@"no" forKey:@"key"];
        }

    //刷新tableview 改变点击状态
        [table reloadData];
    }


  • 相关阅读:
    HDU1005 Number Sequence 题解 矩阵快速幂
    HDU1003 Max Sum 题解 动态规划 最大字段和扩展
    HDU1002 A + B Problem II 题解 高精度加法
    python练习题之访问限制
    python练习之析构函数
    python练习题之 猫2
    python 练习题之 猫
    练习题之交换牌
    mongodb 安装教程
    pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
  • 原文地址:https://www.cnblogs.com/sayimba/p/5661070.html
Copyright © 2011-2022 走看看