快速添加可点击的表格 View

标签 swift uitableview uiviewcontroller

当我创建一个 tableview 时,我无法单击我放在 tableview 上的任何项目。我想知道如何创建一个每个项目都可点击的 TableView ,当用户点击一个项目(例如城市名称)时,它会将用户重定向到另一个 View Controller 。 (例如,如果 tableview 中有 22 个可点击项,则总共会有 22 个新的不同 View Controller ) 非常感谢您!

最佳答案

UITableViewDataSource 必须包含三个主要功能, TableView 才能与用户交互正常工作(例如,按每一行)。这些函数是:

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

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

您要使用的功能是第三个。当用户通过在屏幕上点击某一行来选择它时调用它。您可以使用“indexPath”找到行索引。

如果你想转到 22 个不同的 View Controller ,你需要在每个 View Controller 之间创建一个手动 segue 并相应地标记它们。然后,您可能希望根据在第三个函数中选择的行来调用每个单独的 segue!您可以使用 performSegue() 函数调用带有标识符的 segue。

请注意,包含这些函数的类必须是 UITableViewDataSource 类型,并且您应该在 ViewDidLoad() 函数中告诉 TableView 它是数据源,如下所示:

tableView.dataSource = self

关于快速添加可点击的表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51443572/

相关文章:

html - UIWebView 忽略内联 anchor /链接

ios - 初始化器不会覆盖其父类(super class)中的指定初始化器

ios - 释放与导航 Controller 关联的 View Controller

iphone - 通过addSubview添加后调用父UIViewController中的方法

ios - 在 iOS 7 上成为第一响应者后,UITextView 不会滚动到插入符号

swift - XCTest 错误和打印消息在 AppCode 中混淆

ios - CAGradientLayer 不显示

ios - 如何像 iOS 中的图库一样仅在 Swift 中访问从相机拍摄的图像?

ios - 使用 NSFetchedResultsController 委托(delegate)方法将多行插入 tableView 时出现问题

ios - 根据 segue 更改 navigationItem leftBarButtonItem