0

Я только начал работать с жестов в Swift. Я пытаюсь использовать их с кнопками: действие должно выполняться, когда пользователь щелкает по кнопке.Кнопка в качестве параметра в упражнении жестов в Swift

В моей viewDidLoad() в виде ViewController класса я получил:

let leftSwipeButton = UISwipeGestureRecognizer(target: self, action: "leftSwipeButtonAction") 
leftSwipeButton.direction = .Left 

myFirstButton.addGestureRecognizer(leftSwipeButton) 
mySecondButton.addGestureRecognizer(leftSwipeButton) 
myThirdButton.addGestureRecognizer(leftSwipeButton) 

myFirstButton, mySecondButton и myThirdButton являются кнопки (UIButton).

И на том же уровне, как viewDidLoad() я определил действие:

func leftSwipeButtonAction() { 
    // here the .backgroundColor of the button that was swiped is supposed to be set to UIColor.yellowColor() 
} 

Как я хочу использовать leftSwipeButtonAction() с той же функциональностью для нескольких кнопок я не хочу, чтобы написать функцию для каждой кнопки, но скорее передайте UIButton, который был прокручен как параметр до leftSwipeButtonAction(). Есть ли способ сделать это?

ответ

1

Вы можете отправить только сам UITapGestureRecognizer в качестве параметра на селектор. Вы должны поставить: после выбора регистратора

let leftSwipeButton = UISwipeGestureRecognizer(target: self, action: "leftSwipeButtonAction:") 

func leftSwipeButtonAction(recognizer:UITapGestureRecognizer) { 
    //You could access to sender view 
    print(recognizer.view?) 
} 
Смежные вопросы