ObjC按钮发布了Touch Up Outside

时间:2010-11-12 20:47:51

标签: iphone objective-c cocoa-touch

我有一个按钮,当按下运动时,释放时它应该停止。我知道我可以编写两种方法,一种是开始,另一种是停止运动,我想知道在一种方法中我是否可以根据Touch Up Outside和Touch Up Inside来检测这两种方法。

如果在内部执行此操作,请执行此操作。

-(IBAction) startMotion: (id)sender {
    NSLog(@"Forward or back button is being pressed.");
    UIButton * buttonName = (UIButton *) sender;
        NSLog(@"Button Name:  %@",  buttonName.currentTitle);
}

2 个答案:

答案 0 :(得分:2)

是的,您可以编写一个方法,并通过Interface Builder将IBAction“touchUpInside”和“touchUpOutside”链接到相同的 IBAction成员函数。

唯一的缺点是,能够在调用时判断内部或外部是否为touchUp。 (这听起来对你不重要。)

如果后者出现问题,您可以选择实施独立的touchUpInside和touchUpOutside方法,这些方法又可以调用相同的方法 - 第三个自定义方法 - 您可以在其中传递“内部”或“在外面“来自正确的IBAction处理程序的标志。

答案 1 :(得分:1)

Touch up Outside不会为您提供您正在寻找的功能,我不这么认为。该人必须将手指移动到按钮边界之外,然后抬起手指 为什么不使用触地开始启动动作并在内部触摸以阻止它?