有人可以帮助动态原型的细胞中的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
。
答案 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)
}