cell.layer.hidden之间交替按下按钮时是/否,快速

时间:2015-04-28 19:22:43

标签: ios uitableview

我在button的第1部分tableview中有一个footer。当我按下cells时,我试图隐藏section中的button,当我再次按下它时取消隐藏它们。

目前它的工作方式有一半,当我按预期加载view时会隐藏它,当我按下button时,它会显示cells中的section 1正如预期的那样,但当我再次按下时,没有任何反应,细胞保持可见。

import UIKit
import QuartzCore
var isCellHidden = true

func Action(sender: UIButton)
 {
        if isCellHidden
        {
            isCellHidden = false
            self.tableView.reloadData()
            isCellHidden = false
        }

        if !(isCellHidden)
        {
            isCellHidden = true
            self.tableView.reloadData()
            isCellHidden = true    
        }
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> TableViewCell {
if indexPath.section == 1
 {
    if isCellHidden
    {
        cell.layer.hidden = true    
    }
 }

 return cell 
 }

2 个答案:

答案 0 :(得分:3)

import UIKit

import QuartzCore

var isCellHidden = true


func Action(sender: UIButton){

    isCellHidden = !isCellHidden
    self.tableView.reloadData()

}


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> TableViewCell {

if indexPath.section == 1
    {
            cell.layer.hidden = isCellHidden
    }

return cell
}

答案 1 :(得分:0)

你需要改变这个:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> TableViewCell {
// Create a cell here
if indexPath.section == 1 {
    if isCellHidden == true {
        cell.layer.hidden = true    
    } else {
        cell.layer.hidden = false
    }
    return cell
}

因为你正在重复使用你的细胞,所以记住前一种状态。这就是为什么你需要为每种情况设置它。