如何制作多个表格视图单元格来引导相应的视图控制器?

Posted

技术标签:

【中文标题】如何制作多个表格视图单元格来引导相应的视图控制器?【英文标题】:How do I make multiple tableview cells to lead corresponding view controllers? 【发布时间】:2014-06-20 01:46:21 【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

是否有可能有一个 tableView 控制器导致另一个 TableView 控制器然后是一个通用的详细视图控制器? @mc01 另外,我可以有两个这样的细节视图控制器吗?假设其中一半,我想嵌入一个 youtube 视频,另一半我提供文本作为信息。 @mc01 这部分回答了我的问题......如果我确实使用了你的技术,我将如何从我的主菜单(如上图所示)到我想要的不同视图控制器创建转场?从那里我可以使用你的技术来创建一个细节视图控制器。 @mc01 让我们continue this discussion in chat。 【参考方案1】:

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

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

您只需要检查点击了哪个单元格,然后在点击时执行适当的 Segue。

请注意故事板中视图屏幕下方显示的黄色按钮。

从该按钮拖放一个 segue 到您要连接的视图控制器上。

希望这会有所帮助。

【讨论】:

成功了!我能够将 segue 从一个视图控制器连接到多个视图控制器。我应该使用 switch 语句来查看选择了哪个 tableView Cell 并在表达式中使用 indexpath.row 吗? @iCoder 是的。那是正确的伙计。实际上,这才是真正的下一步。很高兴它对您有所帮助。【参考方案2】:

这非常有帮助,我需要做些什么来摆脱表格视图单元格中的转场。完全按照您上面的建议进行操作并将其添加到 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

【讨论】:

以上是关于如何制作多个表格视图单元格来引导相应的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

使用单击子视图中的表格单元格来填充视图中的字段

在表格视图中点击单元格不会做任何事情

表格单元扩展滞后

如何在表格视图和单元格之间添加图像

如何制作表格视图的多个实例?

制作自定义的动态表格视图单元格