如何为每个UITableViewCell单独单击

时间:2016-01-14 06:57:39

标签: ios

我有UITableView使用生成列表的原型单元格。它们都共享相同的Prototype单元,因为它们上面显示的数据是相同的,但它应该执行的功能是不一样的。所有这些细胞应该在同一部分下。

我应该使用6个不同的原型单元并根据cellForRowAtIndexPath更改NSINdexPath#row函数中的哪个原型单元格,或者是否有一种更简单的方法可以在单元格变为单元时注册自定义逻辑选择。

例如,假设我的表视图如下所示:

  • 显示数据 - 单击时显示弹出窗口
  • 转到网站 - 点击后转到网站
  • 打开应用程序 - 单击时打开另一个应用程序
  • 打开视图 - 点击后会打开另一个视图

我将如何单独处理该逻辑?

1 个答案:

答案 0 :(得分:1)

您可以使用didSelectRowAtIndexPath为每个单元格获取触摸事件。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    if indexPath.row == 0 {
        // Show data
    } else if indexPath.row == 1 {
        // Go to website
    }    
    /// etc 

}

请务必将tableViews delegatedatasource设置为viewController,并为此设置viewController,如下所示:

class MyViewController: UITableViewDataSource, UITableViewDelegate {
}