我正在开发一个乐器类型的应用程序。当 touchDown 发生时,它使用一个类似 UIButtons 的键盘来触发播放音符。音符会根据 touchUpInside 或 touchUpOutside 事件停止播放。
除了尝试演奏多个音符时,一切都按预期工作。touchDown 事件有效,但是当继续触摸另一个按钮时,按预期释放按钮时不会发送 touchUpInside 事件。当所有按钮被释放时,touchUpInside 被发送到所有按钮。
它似乎缓冲其他触摸事件,直到释放所按住的按钮。如果一个按钮被释放而另一个按钮被按下,touchDown 和 touchUpInside 事件不会发送到该按钮,直到所有其他按钮都被释放。然后将 touchUpInside 事件发送到第一个按钮并触发后续事件。
此流程已通过事件的 IBActions 的代码进行跟踪。我启用了多点触控。我试过允许多个手势识别器。似乎没有什么影响这种行为。
由于按钮和事件是使用 Interface Builder - Storyboard 构建的,因此没有真正的代码可以共享。
在释放先前的触摸事件之前,是否有什么东西阻碍了事件的处理?
任何建议,将不胜感激?我已经搜索了其他类似的问题,但找不到这个问题。
谢谢!