gpt4 book ai didi

ios - 如何在 UITableView 中设置 UILabel 的 Action

转载 作者:行者123 更新时间:2023-11-28 21:07:19 26 4
gpt4 key购买 nike

我在 ViewController 中有一个 UITableView,其中有 3 个 UILabel,带有一个标有日期、派对和金额的原型(prototype)单元格。现在的情况是,我希望每当用户点击 UILabel(比如日期)时,它会显示数据库表中特定日期的所有记录,或者如果用户点击派对标签,则将显示特定派对的所有交易。所以请帮我得到这个。我怎么能这样做..

最佳答案

有很多人在做同样的事情。

  1. 您可以使用没有任何边框或背景图像的按钮。只需给按钮提供简单的文本,它看起来就像标签。向按钮添加 Action 。

  2. 您可以使用 UIGestureRecognizers 实现同样的效果。您可以将手势识别器直接添加到所有 UILabel 中,如@LalitKumar 所述。 .

  3. 您还可以将 Gesture Recognizer 添加到您的 Table View 并在您的 UIGesture Recognizer Action 中访问它的所有 subview 。

viewDidLoad 中添加 Gesture Recognizer as

    let tap = UITapGestureRecognizer(target: self, action: #selector(Yourcontroller.handleTap))
yourTableView.isUserInteractionEnabled = true
yourTableView.addGestureRecognizer(tap)

为手势识别器定义 Action 并获取单元格的索引路径以及单元格的 subview 。

func handleTap(_ gesture: UITapGestureRecognizer){
let tapLocation = gesture.location(in: self.tableView)
if let tapIndexPath = self.tableView.indexPathForRow(at: tapLocation)
{
if let tappedCell = self.tableView.cellForRow(at: tapIndexPath) as? UITableViewCell
{
print("Row Selected") // access tapped cell and its subview as
let touchpoint:CGPoint = gesture.location(in: cell)

if cell.datelabel.frame.contains(touchpoint) {
// user tapped date label
} elseif cell.imageView.frame.contains(touchpoint) {
// user tapped image
}
}
}
}

关于ios - 如何在 UITableView 中设置 UILabel 的 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45071284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com