【发布时间】:2016-12-13 12:59:25
【问题描述】:
同事们,当我在UITableView 的单元格中按下UILabel 时,我遇到了获取行的问题。
所以,我有
class CellOfFirstTableView: UITableViewCell
我在哪里
@IBOutlet weak var labelChangeSomething: UILabel!
与我工作的那个单元格
class FirstTableViewController: UITableViewController
所以我想为按下的UILabel 获取行,但我不知道该怎么做。我的单元格和新闻操作代码:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "firstCell", for: indexPath) as! CellOfFirstTableView
let list = sortOfSomething(id: id_something)[indexPath.row]
//tapRecognizer
let tap = UITapGestureRecognizer(target: self, action: #selector(FirstTableViewController.tapFunction))
cell.labelChangeSomething.isUserInteractionEnabled = true
cell.labelChangeSomething.addGestureRecognizer(tap)
return cell
}
和行动的功能:
func tapFunction(sender:UITapGestureRecognizer) {
print("Hello world")
}
我想得到一排按下的UILabel(当我按下UILabel时,我看到“Hello world”,但我想看到UILabel所在的行。我可以得到一排按下的单元格,但用户只能按UILabel 并且不要按UILabel 未激活的部分单元格。
感谢您的想法!
【问题讨论】:
-
你能检查单元格的选择吗?
-
为什么不使用 didSelectRow 方法?
-
@ArtemNovichkov 否,因为当用户按下
UILabel时单元格不活动@ -
@jigneshVadadoriya 因为我想要获取行,但不是在按下单元格之后,并且用户按下了
UILabel
标签: ios swift uitableview swift3 uilabel