Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何通过滑动按钮来触发按钮?_Ios_Xcode_Uibutton_Interface Builder - Fatal编程技术网

Ios 如何通过滑动按钮来触发按钮?

Ios 如何通过滑动按钮来触发按钮?,ios,xcode,uibutton,interface-builder,Ios,Xcode,Uibutton,Interface Builder,我正在开发一个带有音乐键盘组件的应用程序 我需要两种类型的“发送事件”来触发键盘键(UIButtons) 1) “触地”按我需要的方式触发按钮 2) 我需要按钮被触发的第二种方式是,从另一个按钮/键滑到按钮的一侧,就像它被“触到”一样,从左侧或右侧滑到按钮上 如何实现这一点?您不能使用按钮的内置控制事件来实现这一点,原因很简单,您根本无法在按钮中获取事件,除非触摸最初位于该按钮中(如我在此处所述:) 不过,这听起来并不难做到。最简单的方法可能是将触摸响应(如手势识别器)放入所有按钮的公共超级视图

我正在开发一个带有音乐键盘组件的应用程序

我需要两种类型的“发送事件”来触发键盘键(UIButtons)

1) “触地”按我需要的方式触发按钮

2) 我需要按钮被触发的第二种方式是,从另一个按钮/键滑到按钮的一侧,就像它被“触到”一样,从左侧或右侧滑到按钮上


如何实现这一点?

您不能使用按钮的内置控制事件来实现这一点,原因很简单,您根本无法在按钮中获取事件,除非触摸最初位于该按钮中(如我在此处所述:)


不过,这听起来并不难做到。最简单的方法可能是将触摸响应(如手势识别器)放入所有按钮的公共超级视图中。然后superview可以跟踪手势。而且,它可以很容易地找出在任何给定时刻,触控按钮当前在哪个按钮内。因此,它可以管理整个交互。它甚至可以向按钮发送消息,告诉它们何时高亮显示和取消高亮显示。(如果你不打算在任何事情上使用按钮触摸处理,你甚至可能想放弃这些是按钮的想法;它们可能只是看起来像按钮的视图或自定义控件。)

@matt Ok。这是一个很好的解释。不幸的是,这意味着我将从头开始,创建某种类型的“超级视图”,可以管理我需要的按钮操作。。。感谢您让我知道,在IB中使用基本的UIButton和“sent events”无法实现我的目标。@matt您知道如何在Swift中实现类似功能的教程吗?@matt我只知道这在广泛的层面上是有意义的。我不知道如何实现这一点。我花了几个月的时间为我的应用程序设置当前的键盘(它是一个等距键盘,在滚动视图中的8x8网格中有方形键)。使用带有8x16子视图的自定义superview从头开始对其重新编码的想法将添加更多我需要解决的问题。。。您确定没有简单的方法可以通过UIButton获得此功能吗?或者,你能给我发一个指向起点的链接,让我了解如何使用自定义超级视图和子视图来实现这一点吗?谢谢你的帮助@马特更具体地说。。。是否有方法重写/继承UIButton代码并允许此额外操作?如果我从iPad的外部滑到其中一个外部按钮上,它会记录为“触地”动作。。。有没有任何可以想象的方法在键盘的按钮中间实现这一点?如果你这么说的话,那听起来更平易近人。我可能会暂时把它放在backburner上,因为似乎我还需要更多的研究才能胜任地实现,但这听起来绝对是正确的方式!谢谢如果您不介意在下面简单重复您的答案,我将选择您的答案作为此问题的正确答案。再次感谢!