当前位置: 首页 > 知识库问答 >
问题:

自定义tableview单元格中的TouchesBegen取消DidSelectRowIndexPath函数

闻人嘉木
2023-03-14

我有带有自定义单元格的tableview。在自定义单元格中,我有一个视图,它是自定义UIView类。在这个自定义UIView类中,我重写了TouchesBegind和touchesEnded方法,以便在按下视图时更改自定义视图的背景颜色。在tableview中,单元格TouchesBegind和touchesEnded方法可以完美地工作。当我按下tableview单元格时,视图的背景正在更改。但在本例中,tableView的didselectrowat函数不工作。此自定义UiView类取消didSelectRowat函数。这个问题有什么解决办法吗?

自定义类如下:

BildIrisitEmbackGround类:UIView{

override init(frame: CGRect) {
    super.init(frame: frame)

}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.backgroundColor = UIColor(red: 216/255, green: 216/255, blue: 216/255, alpha: 0.3)
}

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.05, execute: {
        ( self.backgroundColor = UIColor(red: 216/255, green: 216/255, blue: 216/255, alpha: 0.0))
    })
}

}

和didSelectrowat函数:

函数tableView(_tableView:UITableView,didSelectRowAt IndexPath:IndexPath){print(IndexPath.Row)}

我希望打印TableView选定行。但什么都不是印刷。

共有1个答案

蔚弘量
2023-03-14

在touchBegan()方法内使用super方法。当一个类从另一个类继承时,继承的类称为子类,继承的类称为超类。这里的超类是 。添加 后,它将覆盖

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.backgroundColor = UIColor(red: 216/255, green: 216/255, blue: 216/255,alpha: 0.3)
    super.touchesBegan(touches, with: event)
}
 类似资料:
  • 问题内容: 我有一个带有几个IBOutlet的自定义单元类。我已经将课程添加到情节提要中。我已连接所有网点。我的cellForRowAtIndexPath函数看起来像这样: 这是我的自定义单元格类: 当我运行该应用程序时,我所有的单元格都为空。我已经注销,它包含所有正确的字符串。我也尝试过将等于标签的实际字符串放入,并产生相同的结果。 我想念什么?任何帮助表示赞赏。 问题答案: 感谢所有不同的建议

  • 我正在使用故事板来创建一个很棒的静态桌面视图。一切都很好! 现在我想自定义表视图单元格。 所以我添加了一个tableViewController并将其连接到故事板视图。下面是我用来自定义的代码: 但是如果我现在运行应用程序,表视图是空的,没有自定义背景。。。 可以帮我吗?:=) 劳伦兹

  • 我使用界面生成器创建了一个自定义的 TableView 单元格。这是它的样子: 对于描述标签,我需要它来自动换行,所以我这样设置它: 在我的设置页面视图控制器中,我重写了以下表视图方法: 生成的页面如下所示: 如您所见,第一个tableview单元格的描述标签没有自动换行。它就这么断了。我如何使它包装? 此外,我想动态调整表格视图单元格的高度。我试图改变高度,使其看起来更怪异: 如何为1行描述标签

  • 我有一个由几个标签控件组成的自定义控件:日期、标题、文本等,控件有fxml文件和一个控制器。我想将此控件用作ListView的单元格。我创建了一个自定义列表单元格 但我不确定这是一个正确的做法。我的应用程序中的ListView可能有数千个项目。根据我的理解,在创建图形节点之前,每次单元格更新都必须加载fxml、进行解析和其他操作。有没有更好的办法来解决这个问题?

  • 我正在尝试使用基于自定义列表的自定义创建一个自定义。 自定义对象是名为的类名,其中包含一些用于消息内容、收件人、时间戳和状态(读取、发送等)的字段。 在看了这个问题:用FXML在JavaFX中定制ListView之后,我成功地做到了: null 现在,ConversationCell类: 我不能显示ConversationCellController,但我所能说的是,这是我(在其构造函数中)加载设

  • 我正在尝试编写一个简单的数据库函数来从表中检索值。 MariaDB只是给出以下消息 在“开始声明标题VARCHAR DEFAULT”附近,在第2行的标题FR中选择MyTitle 我看不出有什么不对。请帮忙。 谢谢你