有一个MenuViewController类,其中记录了表中记录的数组:
import Foundation
import UIKit
class MenuViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var menuTableView: UITableView!
let myTitle = ["??????", "??????????", "?????????"]
override func viewDidLoad() {
super.viewDidLoad()
menuTableView.delegate = self
menuTableView.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myTitle.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = menuTableView.dequeueReusableCell(withIdentifier: "MenuCell") as! MenuTableViewCell
cell.labelText.text = myTitle[indexPath.row]
return cell
}
}
Run Code Online (Sandbox Code Playgroud)
你需要在里面写什么才能进入信息控制器?
我假设您正在使用故事板。首先,您需要在两个视图控制器之间建立某种连接。您可以通过设置“segue”来做到这一点。按住 Ctrl 键并单击从第一个视图控制器拖动到第二个视图控制器。它看起来像这样:
松开鼠标后,您将看到以下内容:
单击“显示”。现在您将创建一个segue。现在你需要给它命名。因此,单击情节提要中显示的 Segue。它基本上只是从菜单视图控制器到信息视图控制器的箭头。在右侧,您将看到一个可以命名它的地方(给它一个标识符):
现在...您已经完成了故事板中需要做的所有事情。现在,在 MenuViewController 的实际代码中,您需要关联单击 tableviewcell。您可以使用委托方法 didSelectRowAt 来完成此操作。
我看到您已经使用此行设置了委托:
menuTableView.delegate = self
这确保了didSelectRowAt
每当用户点击一行时都会调用该函数。
所以现在你要做的就是编写代码来执行转场:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.performSegue(withIdentifier: "YourSegueName", sender: self)
}
Run Code Online (Sandbox Code Playgroud)
注意:以下是有关与 tableview 行交互的更多信息: 如何在 swift 中检测 tableView 单元格触摸或单击
以下是有关 segue 的更多信息: IOS - 如何使用 swift 以编程方式进行 segue
您还可以进行更多自定义...例如通过 Segue 将数据传递到下一个视图控制器。方法如下: 通过 segue 传递数据
归档时间: |
|
查看次数: |
8094 次 |
最近记录: |