Swift UITableViewCell点击展开

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitcser/article/details/78493543

在headview上增加点击事件

        let tap:UITapGestureRecognizer = UITapGestureRecognizer.init(target: self, action: #selector(headViewClick))
        view?.isUserInteractionEnabled = true
        view?.addGestureRecognizer(tap)
写一个全局的标识,点击之后切换展开、收起状态,并刷新对应section,添加展开收起动画

    @objc func headViewClick() -> Void {
        if showAll {
            showAll = false
            
        }else{
            showAll = true
            
        }
        let set:IndexSet = IndexSet.init(integer: 0)
        tableView.reloadSections(set as IndexSet, with: UITableViewRowAnimation.fade)
    }

在返回rowd个数的方法里根据标识判断,就完成了

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if showAll {
            return 8
        }else{
            return 0
            
        }
        
    }

效果如下


猜你喜欢

转载自blog.csdn.net/bitcser/article/details/78493543