gpt4 book ai didi

IOS swift 如何在标签点击时在 TableView 中获取标签文本

转载 作者:行者123 更新时间:2023-11-28 10:16:31 25 4
gpt4 key购买 nike

我有一个 TableView,其中通过标签在其中包含数据。当您单击标签时,Tap 会注册,但现在我想获取所单击标签的数据,但我很难完成这项工作。我对 Buttons 使用相同的功能,例如,这就是我为 TableView 中的按钮做的。

按钮点击事件

      var locations = [String]()
@IBOutlet weak var Location: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
TableSource.dataSource = self


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

cell.Location.setTitle(locations[indexPath.row], for: UIControlState.normal)

cell.Location.addTarget(self, action: #selector(Registration_SearchController.Location_Click(sender:)), for: .touchUpInside)
cell.Location.tag = indexPath.row

return cell
}

func Location_Click(sender: UIButton) {

print(locations[sender.tag])


}

上面的代码允许我获取任何被点击的按钮的数据。我现在尝试对 Label 执行相同的操作,但无法获取 Label 拥有的数据。这是我的标签代码,哦,与上面相同,但不同的 ViewController

      var locations = [String]()
@IBOutlet weak var location: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
TableSource.dataSource = self
location.isUserInteractionEnabled = true

}
func tapFunctionn(sender: UITapGestureRecognizer)
{
// I would like to get the data for the tapped label here
print("Tapped")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Registration_Search", for: indexPath)

cell.location.text = Locations[indexPath.row]
let tap = UITapGestureRecognizer(target:self, action: #selector(HomePageC.tapFunctionn))

cell.location.addGestureRecognizer(tap)

return cell
}

当我再次单击标签时,它会打印Tapped 但无法获取实际数据。在 Button 函数中,我可以使用 Sender.Tag 但 UITapGestureRecognizer 没有 Tag 方法。任何建议将不胜感激

最佳答案

你可以做这样的事情:

func tapFunctionn(recognizer: UIPinchGestureRecognizer) {
let view = recognizer.view
let index = view?.tag
print(index)
}

关于IOS swift 如何在标签点击时在 TableView 中获取标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40690518/

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