Я новичок, мне удалось найти и адаптировать код, так что, когда я провожу метку, значение этой метки меняется.Теперь моя функция относится только к одной конкретной метке, но я хочу, чтобы несколько меток имели одинаковую функцию, метку сбора статистики, как мне изменить / применить функцию ко многим различным меткам?
Здесьмой код:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var counterLabel: UILabel!
@IBOutlet weak var kickLabel: UILabel!
var counter = 0
var swipeGesture = UISwipeGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
let direction: [UISwipeGestureRecognizerDirection] = [.up, .down, .left, .right]
for dir in direction{
swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(self.counterLabel(_:)))
counterLabel.addGestureRecognizer(swipeGesture)
swipeGesture.direction = dir
counterLabel.isUserInteractionEnabled = true
counterLabel.isMultipleTouchEnabled = true
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@objc func counterLabel(_ sender:UISwipeGestureRecognizer){
UIView.animate(withDuration: 1.0) {
if sender.direction == .right{
print("Swiped Right")
self.counter += 1
print(self.counter)
self.counterLabel.text = String(self.counter)
}else if sender.direction == .left{
print("Swiped Left")
print(self.counter)
self.counter -= 1
self.counterLabel.text = String(self.counter)
}else if sender.direction == .up{
print("Swiped Up")
self.counter += 5
self.counterLabel.text = String(self.counter)
}else if sender.direction == .down{
print("Swiped Down")
self.counter = 0
self.counterLabel.text = String(self.counter)
}
}
}
}