tableView 单选

#pragma mark - tableView delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    //self.indexPathSelect记录上一次选中的位置
    //把上一个选择的cell取消
    if (self.indexPathSelect) {
        UITableViewCell *selectCell = [tableView cellForRowAtIndexPath: self.indexPathSelect];
        selectCell.accessoryType = UITableViewCellAccessoryNone;
    }
    
    //更新记录,选中点击的cell
    self.indexPathSelect = indexPath;
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kIdentifier forIndexPath:indexPath];
    //根据记录的位置防止重用产生问题
    cell.accessoryType = (self.indexPathSelect == indexPath) ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;
    
    return cell;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容