作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 ViewController 中有一个 UITableView,其中有 3 个 UILabel,带有一个标有日期、派对和金额的原型(prototype)单元格。现在的情况是,我希望每当用户点击 UILabel(比如日期)时,它会显示数据库表中特定日期的所有记录,或者如果用户点击派对标签,则将显示特定派对的所有交易。所以请帮我得到这个。我怎么能这样做..
最佳答案
有很多人在做同样的事情。
您可以使用没有任何边框或背景图像的按钮。只需给按钮提供简单的文本,它看起来就像标签。向按钮添加 Action 。
您可以使用 UIGestureRecognizers
实现同样的效果。您可以将手势识别器直接添加到所有 UILabel 中,如@LalitKumar 所述。 .
您还可以将 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/
我是一名优秀的程序员,十分优秀!