Swift 确定交互式表视图标题中的节索引

Swift 确定交互式表视图标题中的节索引,swift,uitableview,segue,sections,Swift,Uitableview,Segue,Sections,我有一个UITableView,其中包含使用UIButton的自定义操作创建的交互式节标题。按下此按钮后,将通过prepareForSegue对另一个视图控制器执行分段。但是,节选择在此功能中不可用。是否有一种解决方案使节索引可用?由于该节已在ViewForHeaderSection中可用,能否以某种方式将其传递给prepareForSegue 还有一个类似的主题,但我无法确定章节索引 提前感谢,, 杰拉德 这就是您可以添加变量var sectionToPass:Int的方法 func tabl

我有一个UITableView,其中包含使用UIButton的自定义操作创建的交互式节标题。按下此按钮后,将通过prepareForSegue对另一个视图控制器执行分段。但是,节选择在此功能中不可用。是否有一种解决方案使节索引可用?由于该节已在ViewForHeaderSection中可用,能否以某种方式将其传递给prepareForSegue

还有一个类似的主题,但我无法确定章节索引

提前感谢,, 杰拉德


这就是您可以添加变量var sectionToPass:Int的方法

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
    let header = UIView()
    let btn = UIButton(type: UIButtonType.Custom) as UIButton
    btn.frame = CGRectMake(0, 0, tableView.frame.size.width, 40)
    btn.addTarget(self, action: "buttonAction:", forControlEvents: .TouchUpInside)
    //Add This Part
    btn.tag = section
    //
    btn.setTitle(String(section), forState: .Normal)
    btn.setTitleColor(UIColor.blackColor(), forState: .Normal)
    header.addSubview(btn)
    return header
}

func buttonAction(sender:UIButton!)
{
    //ADD THIS PART
    sectionToPass = sender.tag
    //
    self.performSegueWithIdentifier("myIdentifier", sender: self)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "myIdentifier" {
    let detailViewController = segue.destinationViewController as! MyViewController

    if let selectedSection = sender {
        // Here the selected section should be determined....
        // ... so that data can be passed to detailViewController, e.g.
        //    detailViewController.sectionNumber = section
        //ADD THIS PART
        detailViewController.sectionNumber = sectionToPass
    }
}
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
    let header = UIView()
    let btn = UIButton(type: UIButtonType.Custom) as UIButton
    btn.frame = CGRectMake(0, 0, tableView.frame.size.width, 40)
    btn.addTarget(self, action: "buttonAction:", forControlEvents: .TouchUpInside)
    //Add This Part
    btn.tag = section
    //
    btn.setTitle(String(section), forState: .Normal)
    btn.setTitleColor(UIColor.blackColor(), forState: .Normal)
    header.addSubview(btn)
    return header
}

func buttonAction(sender:UIButton!)
{
    //ADD THIS PART
    sectionToPass = sender.tag
    //
    self.performSegueWithIdentifier("myIdentifier", sender: self)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "myIdentifier" {
    let detailViewController = segue.destinationViewController as! MyViewController

    if let selectedSection = sender {
        // Here the selected section should be determined....
        // ... so that data can be passed to detailViewController, e.g.
        //    detailViewController.sectionNumber = section
        //ADD THIS PART
        detailViewController.sectionNumber = sectionToPass
    }
}