tableview中的segue via按钮执行2个segues而不是one

时间:2016-06-19 20:05:27

标签: ios swift uitableview uibutton segue

我制作了一个tableview控制器,并在原型单元格中添加了一个按钮。然后我为这个单元格创建了一个新的swift文件,我拖动了这个按钮。

接下来,我制作了一个新的tableview文件,并添加了应该在按钮内显示的图像。到现在为止还挺好。

问题在于:我想从每个按钮执行一个segue,它们都有自己的视图控制器(这比使用主视图和详细视图控制器更容易,因为它们都非常不同)。我的问题如下:我希望使用此代码可以正常工作:

cell.sportButton.tag = indexPath.row
cell.sportButton.addTarget(self, action: #selector(TableViewControllerSport.buttonClicked), forControlEvents: .TouchUpInside)

func buttonClicked:

 func buttonClicked(sender: UIButton)
{
    let buttonRow = sender.tag

    if buttonRow == 0 {
        self.performSegueWithIdentifier("segueSportinfrastructuur", sender: self)
    }
    else if buttonRow == 1 {
        self.performSegueWithIdentifier("segueSportdienst", sender: self)
    }
    else if buttonRow == 2 {
        self.performSegueWithIdentifier("segueSportraad", sender: self)
    }
    else if buttonRow == 3 {
        self.performSegueWithIdentifier("segueSportverenigingen", sender: self)
    }
    else if buttonRow == 4 {
        self.performSegueWithIdentifier("segueGsport", sender: self)
    }
    else if buttonRow == 5 {
        self.performSegueWithIdentifier("segueSportactiviteiten", sender: self)
    }

}

哪些引用不同的segues。问题是:当我点击其中一个按钮时,它将始终首先执行“segueSportinfrastructuur”,然后执行它应该执行的segue。 因此,当我单击后退按钮时,应用程序将返回到“Sportinfrastructuur”VC,因此我必须再次单击后退按钮才能返回到tableView。

任何知道如何解决这个问题的人都会非常感激!

2 个答案:

答案 0 :(得分:0)

使用didSelectRowAtIndexPath更容易吗? 这里有一个很好的例子How to get textLabel of selected row in swift?

答案 1 :(得分:0)

你可以通过故事板附加一个segue。可能是一个调用你通过从tableview拖放到其他控制器设置的segue。

第二个人可能正在通过您的代码进行调用。