当前位置: 首页 > 知识库问答 >
问题:

根据单击的tableView单元格定向到不同的ViewController

海信鸥
2023-03-14

我试图根据单击的tableView单元格呈现一个viewController。

当前,如果它们都被点击,它们将重定向到相同的viewController,我将如何改变这一点?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableViewCell
    cell.cellLabel.text = self.objects.objectAtIndex(indexPath.row) as! String

    return cell
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    self.performSegueWithIdentifier("other", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if(segue.identifier == "other"){

        var upcoming: otherViewController = segue.destinationViewController as! otherViewController

        let indexPath = self.tableView.indexPathForSelectedRow!

        let titleString = self.objects.objectAtIndex(indexPath.row) as! String

        upcoming.titleString = titleString

        self.tableView.deselectRowAtIndexPath(indexPath, animated: true)


    }
}

我能在手机标签上做一个if ell.text吗?如if(celllabel.text==“Option8){func tableView(tableView:UITableView,DidSelectRowIndexPath IndexPath:NSIndexPath){self.PerformSegueWithIdentifier(Option8”,Sender:self)}

}

我使用的是Swift和Xcode7。

共有3个答案

商开宇
2023-03-14

您可以在didSelectrow中检查IndexPath.row,根据行号,您可以重定向到perticular Controller。

司马晋
2023-03-14

是的,你可以。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let cell = tableView.cellForRowAtIndexPath(indexPath)
    if cell.cellLabel.text == "option8" {
        self.performSegueWithIdentifier("other8", sender: self)
    }
}
沈德寿
2023-03-14

null

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.row == 0 || indexPath.row == 2{
   self.performSegueWithIdentifier("other", sender: self)
}
else{
  self.performSegueWithIdentifier("other", sender: self)
}

}
 类似资料:
  • 问题内容: 我有一个tableview单元格,其中添加了collectionview单元格(用于水平滚动)。 现在我想在按下水平collectionview的任何单元格时推送到其他导航控制器。怎么做 ?或如何定义细胞压榨的委托方法。 代码: ViewController.swift: CategoryRow.swift VideoCell.swift 问题答案: 在这里,您将在类上的委托方法上单击

  • 我有一个sidR菜单,内容如下: 每个页面的href未知,cms会为其提供一个id。 虽然a class=“sidr class”下拉开关 我想用CSS隐藏sidr类下拉菜单的内容,只显示一个类“sidr类下拉开关”,这样它就可以点击第一个链接。

  • 问题内容: 我正在尝试获取所选项目,然后开始一些活动。不幸的是,我发现的大多数解决方案都在Objective-C或不起作用。 方法不打印标签。 有人可以帮我吗? 经过几次尝试,我将代码更改为与我发现的教程不同的代码。而且它也不起作用。现在我认为这是iOS模拟器的问题… 问题答案: 如果您想从单元格中获取值,则无需在 任务如下: 您还必须检查您必须设置的标识符。 希望能帮助到你。

  • 这是html代码: driver.findelement(by.xpath(“//table[@id='list maintable']//tr[contains(TD[1],'TestReport')]/td[2]”)); driver.findelement(by.xpath(“//table[@id='list maintable']/tbody/tr/div[contains(text()

  • 问题内容: 我正在尝试制作俄罗斯方块克隆。游戏使用aJTable作为棋盘的表示。电路板是2D整数数组。 我试图做到这一点,当某个单元格具有某个值时,该单元格将变为某种颜色。我以为我可以正常工作,但是无法正常工作。非常感谢您的帮助。 谢谢。 这是我的代码: 板: InitializeJTable: 问题答案: 数据/模型与视图/表之间存在关系。模型维护“什么”,视图控制“如何”。 JTable提供了

  • 问题内容: 我有一个带有几个IBOutlet的自定义单元类。我已经将课程添加到情节提要中。我已连接所有网点。我的cellForRowAtIndexPath函数看起来像这样: 这是我的自定义单元格类: 当我运行该应用程序时,我所有的单元格都为空。我已经注销,它包含所有正确的字符串。我也尝试过将等于标签的实际字符串放入,并产生相同的结果。 我想念什么?任何帮助表示赞赏。 问题答案: 感谢所有不同的建议