更改 UITableViewCell 样式会导致点击操作不会发生

Posted

技术标签:

【中文标题】更改 UITableViewCell 样式会导致点击操作不会发生【英文标题】:Changing UITableViewCell style causes on click action to not happen 【发布时间】:2017-02-20 22:55:50 【问题描述】:

所以我有一段代码

  let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("SampleNameCell")! as UITableViewCell


       // cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "SampleNameCell")

第一行代码工作并创建表格单元格。单击单元格时,会打开一个与标识符关联的视图。但是,当我取消注释代码以便可以向单元格添加正确的详细信息标签时,会显示正确的详细信息标签,但现在单击时视图不会出现。这是造成此问题的未注释代码

  cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "SampleNameCell")

任何帮助将不胜感激,谢谢!

【问题讨论】:

我不明白你在做什么。 是什么触发了基于点击单元格的动作?如果这是情节提要中的内容,那么您注释掉的行将替换从情节提要创建的单元格,您可能在情节提要中设置的所有内容都用代码中创建的普通单元格替换。 您无法设置现有单元格的样式。你必须这样做有问题 @AzizJaved 我想要一个在单元格上显示左右标签的单元格,单击该单元格会打开一个视图 【参考方案1】:

我假设您正在使用情节提要来配置您的单元格。要设置具有正确细节的单元格,它应该如下所示……

要在点击时触发到另一个视图控制器的转场,请从您的单元格拖动到下一个视图控制器...

在您的表格视图控制器中,您应该有类似...的代码

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    let cell = tableView.dequeueReusableCell(withIdentifier: "SampleNameCell", for: indexPath)

    // Configure cell here

    return cell

注意方法签名中的, for: indexPath)

【讨论】:

以上是关于更改 UITableViewCell 样式会导致点击操作不会发生的主要内容,如果未能解决你的问题,请参考以下文章

在普通样式的 UITableView 中更改自定义 UITableViewCell 单元格的背景颜色

在 UITableViewCell 中,如何更改单击的按钮粗体的样式,而其他单元格保持静止?

在 UITableViewCell 的突出显示上更改附件视图

选择时更改 UITableViewCell 的 alpha 啥都不做

自定义 UITableViewCell 中的 UIButton 导致在多个单元格中选择按钮

UITextView 在 UITableViewCell 内使用新行自动增长