iOS UIButton Touch Drag Enter无法正常工作?

时间:2013-05-15 03:23:32

标签: ios uibutton touch action drag

我正在尝试创建一个按钮,当用户的触摸进入按钮的任何位置时触发动作(无论它们在内部触摸,还是从外部拖动到按钮内部)。基本上,我需要创建一种方法,只要手指在按钮内部就触发动作。

“触摸拖动输入”与“内部触摸”相结合“听起来就像它可以完成工作一样,但它似乎与我需要的工作方式不同。

另外,我更喜欢它可以在故事板而不是硬代码(如touchesBegan / move)中完成,但如果没有其他方法可以。

3 个答案:

答案 0 :(得分:5)

当你在控件内部开始触摸并将其拖到控件的边界之外然后将其拖回控件内部而不离开触摸时,

Touch drag enter才会被调用。因此,您需要将按钮子类化并实现所需的功能。

答案 1 :(得分:3)

您必须将所有事件逐一绑定到您想要在IB按下按钮时调用的方法。

OR

您可以尝试在代码中注册UIControlEventAllTouchEvents按钮。这是一个可能有用的示例

[_btnRoundRect addTarget:self action:@selector(btnPressedAction) forControlEvents:UIControlEventAllTouchEvents];


- (void)btnPressedAction{
    NSLog(@"Bttn pressed");
}

答案 2 :(得分:0)

在IB中设置连接时,Touch Down应该是您正在寻找的。只要用户的手指按下按钮,就会调用该动作。