在用户端点击执行功能

时间:2015-04-16 19:32:37

标签: ios events uibutton

我不太熟悉所有类型的已发送事件,在Xcode中,我只知道内部触摸。我要做的是在用户轻敲时执行一项功能,在他们举起手指时执行另一项功能。我将使用什么事件?

4 个答案:

答案 0 :(得分:0)

In this question有一个例子可以处理与你想要做的事情类似的情况。如果您可以访问他们的工具,我建议您阅读更多关于如何通过iOS开发程序创建实例的教程。

答案 1 :(得分:0)

执行此操作的一种简单方法是在视图上添加点按手势识别器以执行相同操作 -

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(aMethod:)];

然后在目标方法中,检查您的点按手势的不同状态 -

-(void)aMethod:(UIGestureRecognizer *)recogniser {

if(recogniser.state == UIGestureRecognizerStateBegan){

}

else if (recogniser.state ==UIGestureRecognizerStateEnded) {


}


}

答案 2 :(得分:0)

我认为您可能想要的是this list可以使用UIControl订阅的事件。您现在正在使用的活动是“UIControlEventTouchUpInside'”,并且您的“手指联系人已启动”'事件将是' UIControlEventTouchDownInside'。

这些事件由UIControl的子类生成,其中UIButton是一个。如果您只需要一个矩形区域来获取这些事件,那么比手动实现触摸事件处理更容易。

答案 3 :(得分:0)

处理此问题的一种好方法是设置两个事件,一个使用TouchUpInside,另一个使用TouchDown。这样,您可以使用不同的触摸事件来执行相同(或不同)的操作:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
[btn addTarget:self action:@selector(downAction:) forControlEvents:UIControlEventTouchDown];
[btn addTarget:self action:@selector(upAction:) forControlEvents:UIControlEventTouchUpInside];

以下是您可以使用的不同控制事件的doc source