У меня есть TableView, у которого есть данные внутри него с помощью этикеток. Когда вы нажимаете на метку, Tap регистрируется, но теперь Я хотел бы получить данные щелкнутого ярлыка, и мне сложно это сделать. У меня есть те же функции, что и для кнопок, например, это то, как я делаю это для своих кнопок внутри TableView.IOS swift Как я могу получить текст меток внутри TableView на метке tap
Кнопка Нажмите Событие
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. Это мой код для этикетки и о таком же такое же, как и выше, но отличается 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
}
снова, когда я нажимаю на ярлык он печатает резьбовые, но не может получить фактические данные. В функции Button я мог бы использовать Sender.Tag, но UITapGestureRecognizer не имеет метода тегов. Любые предложения были бы весьма полезны
Это будет работать, кроме этого я я пытаюсь включить его в функцию, потому что вещи будут усложняться в будущем. – user1949387
Вы всегда можете вызывать функции из 'didSelect' и передавать соответствующую информацию. – Rikh
Спасибо, что это было необходимо – user1949387