Очень старый вопрос, но так как я сейчас над этим работаю ... Когда я начал реализовывать клавиатуру пианино, я просто использовал большое изображение клавиатуры и выяснил, какая клавиша нажимается в моих контроллерах touchesBegan
, touchesMoved
методы.Затем, когда я хотел добавить эффекты нажатия клавиш, я подумал, что UIButton
s будет хорошо работать.К сожалению, я столкнулся с той же проблемой, что и у вас: первая нажатая клавиша UIButton
«захватывает» касание, которое затем недоступно для других клавиш.
Самое простое решение, я думаю, это пойтивернуться к исходному контроллеру touchesBegan
, touchesMoved
метод.Я заменит все мои UIButton
s на UIImageView
s и выполню обнаружение касаний и анимацию клавиш с контроллера.