2015-06-25 149 views
0

我已经在IB中创建了一个UITableView。该视图包含5个部分,每个部分包含一些单元格。某些部分的第一个单元格给最终用户显示/隐藏属于同一部分的其余单元格的选项。隐藏/显示UITableView中的单元格?

我迄今为止代码:

import UIKit 

class SettingsVC: UITableViewController { 

    @IBOutlet var showCallForwardSwitch: UISwitch? 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    @IBAction func toggleValueChanged(sender: UISwitch) { 

     if showCallForwardSwitch!.on { 
      println("switch is on") 
     } else { 
      println("switch is off") 
     } 

     tableView.reloadData() 
    } 
} 

所以只有一个IBOutlet和IBAction为。我可以通过toogleValueChanged函数获取事件,但从现在开始我不知道该怎么做。我需要使用哪些方法?

enter image description here

回答

1
override func tableView(tableView:UITableView, heightForRowAtIndexPath indexPath:NSIndexPath)->CGFloat 
{ 
    let cell:DetailCell = self.tableView.cellForRowAtIndexPath(indexPath) as DetailCell // ???????? 

    var height:CGFloat = 84.0; 

    if ("toggel on"){ 
     height = 84.0; 
    } 
    else{ 
     height = 0.0; 
    } 

    return height; 
} 
+1

什么是DetailCell?你怎么知道你在正确的部分工作? – cateof

0

您不想重装,因为一个部件的整体的tableView。我建议使用deleteRowsAtIndexPaths(_:withRowAnimation:)只保留第一个单元格,以便用户能够再次显示该部分的其余部分。更新你的数据源,并使用一些标志,以便知道哪个单元不显示。

相关问题