ios - 通过 tableview 中的按钮进行 segue 执行 2 个 segues 而不是一个

标签 ios swift uitableview uibutton segue

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

接下来,我创建了一个新的 tableview 文件,并添加了应该在按钮内显示的图像。到目前为止,一切都很好。

问题是这样的:我想从每个按钮执行 segue,它们都有自己的 View Controller (这比使用主视图 Controller 和详细 View Controller 更容易,因为它们完全不同)。我的问题如下:我希望它能正常工作,使用这段代码:

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

单击的功能按钮:

 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。

谁知道如何解决这个问题,将不胜感激!

最佳答案

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

关于ios - 通过 tableview 中的按钮进行 segue 执行 2 个 segues 而不是一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37911329/

相关文章:

ios - 奇怪的 UITableView 错误

swift 。在内部协议(protocol)中声明私有(private)函数

swift - 通过 searchBar 过滤 NSFetchedResultController 而不加载基本暂停?

ios - Swift 框架无法在另一个包中获取文件

ios - 页面指​​示器快速不同步

ios - 后台任务不会在 Swift 中重新启动

ios - 如何在 UITableView 中制作一个 "title"单元格?

ios - 可重用 UITableViewCell 与 UICollectionViewCell

ios - FaSTLane:无法使用 "match"命令生成的 p12 文件

ios - 拒绝摄像头后访问摄像头出现问题