我在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
}
答案 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
}
因为你正在重复使用你的细胞,所以记住前一种状态。这就是为什么你需要为每种情况设置它。