zoukankan      html  css  js  c++  java
  • UITableViewCell 添加 checkbox 多选

    TableViewCell多选;

    CheckBox;

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        
        if (!cell) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        
        NSString *seleCity = [[dataSourceArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
        cell.textLabel.text = seleCity;
        cell.textLabel.textAlignment = NSTextAlignmentLeft;
        cell.accessoryType = UITableViewCellAccessoryNone;
        cell.textLabel.font = [UIFont systemFontOfSize:18];
        if ([selectCitysArray containsObject:indexPath]) {
            cell.imageView.image = [UIImage imageNamed:@"checkbox_on_background.png"];
        }
        
        else
        {
            cell.imageView.image = [UIImage imageNamed:@"checkbox_off_background.png"];
        }
        
        
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleChecking:)];
        [cell.imageView addGestureRecognizer:tap];
        cell.imageView.userInteractionEnabled = YES;
        
        return cell;
    }
    
    - (void) handleChecking:(UITapGestureRecognizer *)tapRecognizer {
        CGPoint tapLocation = [tapRecognizer locationInView:self.tableView];
        NSIndexPath *tappedIndexPath = [self.tableView indexPathForRowAtPoint:tapLocation];
        
        if ([selectCitysArray containsObject:tappedIndexPath]) {
            [selectCitysArray removeObject:tappedIndexPath];
        }
        else {
            [selectCitysArray addObject:tappedIndexPath];
        }
        [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:tappedIndexPath] withRowAnimation: UITableViewRowAnimationFade];
    }

    参考:http://stackoverflow.com/questions/3666629/how-to-add-checkboxes-to-uitableviewcell

  • 相关阅读:
    习题四 答案
    习题五 答案
    习题三 答案
    习题二 答案
    习题一 答案
    mysqldump 备份
    centos mysql 数据迁移
    常用操作命令
    mysql 日期处理
    thinkphp3.2.3 使用配置
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3497909.html
Copyright © 2011-2022 走看看