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];
    }


  • 相关阅读:
    CORS详解
    JBoss 系列九十九:Rest WebService jBPM 6 集成演示样例
    atitit。浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结
    4G时代来临,运营商为谁搭台献唱?
    Pascal&#39;s Triangle II
    cocos2d-x 3.6版连连看载入资源
    SlidingMenu导入编译用法--Eclipse和IDEA
    【解决】hive动态添加partitions不能超过100的问题
    AngularJS clone directive 指令复制
    AndroidStudio文件夹结构视图讲解
  • 原文地址:https://www.cnblogs.com/sayimba/p/5661070.html
Copyright © 2011-2022 走看看