如何通过滑动按钮来触发按钮?
问题描述:
我正在研究一个音乐键盘组件的应用程序。如何通过滑动按钮来触发按钮?
我需要2种“发送事件”来触发键盘按键(UIButtons)。
1)“向下触摸”触发按钮他们的方式予它需要
2)第二方式我需要按钮被触发是通过滑动到一个按钮,从另一个按钮/键的侧当它从左侧或右侧滑落时,它好像是“被击倒”的。
我该如何做到这一点?
答
你不能使用按钮的内置控制事件来做到这一点,原因很简单,你根本没有得到一个按钮中的事件,除非触摸最初是该按钮(如我在这里解释一下:https://stackoverflow.com/a/40414929/341994)。
不过,这听起来并不难。最简单的方法可能是将触摸响应(例如手势识别器)放入所有按钮的常见超级视图中。超级视图然后可以跟踪手势。并且可以很容易地找出在任何特定时刻触摸当前处于哪个按钮。所以它可以管理整个交互。它甚至可以将消息发送到按钮,告诉他们何时突出显示和不亮。 (如果你不打算使用按钮触摸处理任何东西,你甚至可能想放弃这些为按钮的想法;它们可能只是视图或自定义控件,看起来像按钮。)
@matt好的。这是一个很好的解释。不幸的是,这意味着我将从头开始并创建一些可以管理我需要的按钮操作的“超级视图”......感谢让我知道我试图实现的目标对于基本UIButton而言是不可能的,“发送事件“在IB。 – PlateReverb
@matt你知道关于如何在Swift中实现这样的任何教程吗? – PlateReverb
@matt我只知道这在广泛层面上有意义。我不知道如何实现这一点。我花了几个月时间在我的应用程序的当前键盘设置上(这是一个在滚动视图中的8x8网格中具有方形键的等距键盘)。从头开始用8x16子视图自定义超级视图重新编码这个想法会增加更多的问题,我将需要解决...你确定没有简单的方法来使用UIButton获得这个功能吗?否则,你可以给我一个链接到一个起点,了解如何使用自定义的超级视图和子视图来做到这一点?谢谢你的帮助! – PlateReverb