如何通过拖动UIButton启动IBAction?

时间:2011-03-01 18:28:17

标签: iphone objective-c xcode uibutton

我的iPhone应用程序需要帮助。我目前在视图中有5 UIButtons与不同的IBActions相关联。按钮彼此靠近放置。我想知道如何让用户只需在按钮上拖动手指就可以按所有按钮,而不是将手指拉离设备屏幕,然后点击其他按钮。

如果您无法理解这些按钮是如何放置的,那么这是一张图片^。^

enter image description here

谢谢!

2 个答案:

答案 0 :(得分:2)

在每个按钮中,您可以从 Connections Inspector 设置Touch Drag Outside事件和Touch Drag Enter按钮事件,以调用相应的IBAction,以便方法为当他们中的任何一个被触摸并且手指仍然朝着其他人拖动时被呼叫。每个按钮可能需要两个事件,具体取决于您正在寻找的确切行为。

请记住,虽然它可能偏离模型 - 视图 - 控制器(MVC)的处理方式,但可以设置IB元素来调用多个IBAction,并且可以使用多个事件来调用相同的IBAction。

选择每个按钮后,事件将在连接检查器中列出。按CMD + 2跳转到连接检查器选项卡。

答案 1 :(得分:1)

我想一个选项是使用TouchesXX事件。例如,你可以选择拖动的触摸,在代码中你可以触发按钮事件处理程序(IBActions)。当然,你必须知道其他按钮的位置,以确定它们是否被拖过。我不确定这是否是您正在寻找的,但这将是一种选择。