来自iOS中UITableView中的单元格的细分

时间:2018-01-17 21:26:16

标签: ios swift uitableview segue

有人可以帮助动态原型的细胞中的segue吗?

我有一个"菜单" TableViewController原型单元格。 有一系列细胞:

let converterItems = ["Time", "Pressure", "Lenght", "Power"]
let converterImages = ["imageTime", "imagePressure", "imageLenght", "imagePower"]

和TableView功能:

override func numberOfSections(in tableView: UITableView) -> Int {

        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return converterItems.count
    }


    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "mainCell", for: indexPath) as! MainTableViewCell

        cell.labelMain.text = converterItems[indexPath.row]
        cell.imageMain.image = converterImages[indexPath.row]

        return cell
    }

    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
    {
        return 60;
    }

我认为我必须使用didselectatrow,但是有很多错误。 每个单元格都必须进入View

3 个答案:

答案 0 :(得分:0)

didSelectRowAt中,我们编写performSegue方法:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        performSegue(withIdentifier: "timeSegue", sender: "Time")
    }

在哪里" timeSegue" - 是Segue的名字和" Time" - 是细胞名称。

答案 1 :(得分:0)

非常简单:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // assuming that for each converterItem there is a segue
    // e.g.: for Time there is timeSegue
    performSegue(withIdentifier: "\(converterItems[indexPath.row].lowercased())Segue", sender: indexPath)
}

答案 2 :(得分:0)

let segues= ["timeSegue", "pressureSegue", "LenghtSegue", "powerSegue"]

/////

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

   performSegue(withIdentifier: "\(segues[indexPath.row])", sender: indexPath)

 }