У меня есть собственный UIControl с тремя подвидами. Каждому из этих подпредставлений я добавляю цель:
button.addTarget(self, action: #selector(buttonTapped(clickedBtn:)), for: .touchUpInside)
Внутри этой функции buttonTapped
она выполняет некоторые специальные анимации для некоторых переходов (она имитирует сегментированный элемент управления).
Теперь внутри ViewController, в котором существует этот пользовательский UIControl, должен знать, когда к нему прикоснулись. Я создал функцию @IBAction
, которая взаимодействует с сенсорными событиями для пользовательского UIControl.
Проблема в том, что это невозможно (насколько я знаю). Если я добавлю целевое событие касания в подпредставления, родительские события касания не будут вызываться. Чтобы родительское представление вызывало функцию @IBAction
, я должен установить для всех подпредставлений setUserInteractiveEnabledto
true`. Когда я это сделаю, функции сенсорного события подпредставления не будут вызываться.
Мне нужно вызвать обе функции сенсорного события. Как я могу это сделать? Или как лучше обойти это?
IBAction
, а затем в.touchUpInside
определить, какое подпредставление было нажато? - person dfd   schedule 11.09.2017