美文网首页Swift基础入坑
tableviewCell的一些备注

tableviewCell的一些备注

作者: iOS_July | 来源:发表于2018-06-11 10:39 被阅读15次

    可选链

    tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark

    cell跟上一个"?"是什么意思呢?其实这是 可选链

    比如你在注册某账号时,nickName和passWord必须填写,地址可以不用填写。

    取消cell选中后的灰色状态

    tableView.deselectRow(at: indexPath, animated: true)

    cell的重用导致的选中bug

    当重用cell的时候,只更新了图像和文字,而没有更新选中的状态!

    解决方法:
    1、跟踪所有cell的选中状态
    ///cell状态数组,count=cell个数
    var visited = [Bool](repeatElement(false, count: 20))
    
    2、在选中cell 时,保存对应cell的选中状态属性
    self.visited[indexPath.row] = true
    
    3、重用cell的时候,读取cell的状态
    if visited[indexPath.row] {
            cell.accessoryType = .checkmark
     }else{
            cell.accessoryType = .none
    }
    //优雅点的写法
    cell.accessoryType = visited[indexPath.row] ? .checkmark : .none
    

    相关文章

      网友评论

        本文标题:tableviewCell的一些备注

        本文链接:https://www.haomeiwen.com/subject/nzjrsftx.html