具有Segues到多个视图的Storyboard TableView

jon*_*ham 4 storyboard segue swift

我在设计故事板时遇到了问题.我目前在应用程序商店中有一个使用XIB文件设计的应用程序.我有一个放在UIViewController上的tableView - 而不是tableViewController - 为所选的每一行加载一个唯一的viewController.

我试图将这个概念转换为故事板.我做了以下事情

  1. 在故事板中放置一个UIViewController.

  2. 在UIViewController上放置一个UITableView,这样我就可以自定义表视图.

  3. 我尝试从UITableViewCell连接到多个ViewControllers,我不被允许.

  4. 我尝试从UIViewController创建多个segue - 我可以 - 但是当我点击单元格时,不会触发segue.我尝试使用didSelectRowAtIndexPath:和prepareForSegue:

由于这不起作用,我尝试使用UITableViewController创建一个项目,然后从UITableViewController创建多个segue.然后我命名每个segue并使用didSelectRowAtIndexPath:方法来测试所选单元格并调用performSegueWithIdentifier:这不起作用.当我点击单元格时,我会随机加载不正确的viewController.我复制了一些我的代码,下面几张屏幕截图.

我想知道我是否公然遗漏了一些明显的东西,还是我必须恢复到这种类型的项目的xib格式?

override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath)
{
    if indexPath.row == 0
    {
        println("Segue1")
        self.performSegueWithIdentifier("Segue1", sender: self)
    }
    else if indexPath.row == 1
    {
        println("Segue2")
        self.performSegueWithIdentifier("Segue2", sender: self)
    }
    else if indexPath.row == 2
    {
        println("Segue3")
        self.performSegueWithIdentifier("Segue3", sender: self)
    }

}
Run Code Online (Sandbox Code Playgroud)

故事板与命名Segues

照顾自己,

乔恩

小智 5

override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath)取消选择项时调用该方法 .

要在选择项目时调用方法,请将方法名称更改为 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)