如何制作多个tableview单元以引导相应的视图控制器?

时间:2014-06-20 01:46:21

标签: ios objective-c uitableview segue

我正在制作一个带有tableViewController的应用程序作为初始视图控制器。它显然有tableview单元格中的项目列表。我希望每个tableView单元格都指向不同的View控制器。这是我的主屏幕示例: ![在此输入图像说明] [1]

我想要实现的目标是,工具单元格会将我带到View控制器,其中包含有关工具的详细信息。当我点击武器时,它应该带我到一个视图控制器,其中包含有关武器的详细信息。我已经设置了视图控制器,但我不知道如何为每个视图控制器创建segues。注意:我在代码中制作了这些单元格,而不是在我的故事板中。我创建了一个项目数组,并使用indexpath.row来显示它们。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

无需从单个单元格连接和创建segue,您可以从View Controller按钮连接所有这些segue,它位于故事板中的视图下方。在这种情况下,您将拥有多个segue,并且它们都不会单独连接到单元格。当segue准备就绪时,您可以使用此方法移动到下一个View Controller,具体取决于从tableView中抽取的单元格。

[self performSegueWithIdentifier:@"yourSegue" sender:nil];

您只需要检查点击了哪个单元格,然后点按即可执行相应的Segue。

在故事板中查看视图屏幕下方显示的黄色按钮。

enter image description here

将该按钮的segue拖放到要连接的View Controller上。

希望这有帮助。

答案 1 :(得分:0)

这非常有用,我需要做些什么来摆脱表格视图单元格中的segue。完全按照上面的建议完成并将其添加到tableViewDidSelectRowAtIndexPath ...

    override func tableView(tableView: UITableView,didSelectRowAtIndexPath indexPath: NSIndexPath) 
    {

      if let indexPath = self.tableView.indexPathForSelectedRow
      {

        rowSelected = indexPath.row
        sectionSelected = indexPath.section

        //Transition to the Set Details VC
        if indexPath.section == 0
        {
            print("Set Details")
            self.performSegueWithIdentifier("Segue1", sender: self)
        }

        //Transition to the Info Section
        else if indexPath.row == 0 && indexPath.section == 2
        {
            print("About Page")
            self.performSegueWithIdentifier("Segue2", sender: self)
        }

        }//End If IndexPath

    }//End DSRAIP