Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Iphone 手指固定的长按按钮_Iphone_Xcode_Uibutton_Pressure - Fatal编程技术网

Iphone 手指固定的长按按钮

Iphone 手指固定的长按按钮,iphone,xcode,uibutton,pressure,Iphone,Xcode,Uibutton,Pressure,在我的项目中,我需要使用UIButton(或其他组件)来处理长按事件。 让我解释一下,我应该记住,我按下按钮计时秒数并释放到压力停止,我尝试使用UILongPressGestureRecognitor的管理,但事实并非如此,因为我在按下按钮时回忆事件,但只有当我移动手指时,但我希望计时器消失,并计算所有按下按钮的时间(手指静止),并在手指松开时停止计数 有人知道如何帮助我吗? 谢谢我也这么做了……正如你所说的UILongPressGestureRecognitor,我不明白……但你可以在-(vo

在我的项目中,我需要使用UIButton(或其他组件)来处理长按事件。 让我解释一下,我应该记住,我按下按钮计时秒数并释放到压力停止,我尝试使用UILongPressGestureRecognitor的管理,但事实并非如此,因为我在按下按钮时回忆事件,但只有当我移动手指时,但我希望计时器消失,并计算所有按下按钮的时间(手指静止),并在手指松开时停止计数

有人知道如何帮助我吗?
谢谢

我也这么做了……正如你所说的UILongPressGestureRecognitor,我不明白……但你可以在
-(void)handleLongPress:(UILongPressGestureRecognitor*)GestureRecognitor中编写代码
{
}
。我也用这种方法做了同样的事情,并获得了成功的结果..:)。你甚至不需要添加计时器,相反,你可以使用

 UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] 
                                      initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = 1.0;
lpgr.delegate = self;

我认为这非常有效。

将这两种方法用于按钮事件<按下按钮时会调用“代码>触地”,从按钮上抬起手指时会调用“代码>触地”。计算这两种方法之间的时间差。您还可以在
触地
中启动计时器,并在
触地
中停止/重新启动计时器

//connect this action with Touch up inside
- (IBAction)touchUp:(id)sender {
    NSLog(@"up");
}

//connect this to tocuh down
- (IBAction)touchDown:(id)sender{
    NSLog(@"down");
}

已更新 在编码方面,你可以这样写

[btn addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
[btn addTarget:self action:@selector(touchDown:) forControlEvents:UIControlEventTouchDown];

在xib中,我无法理解你的问题。你能试着用另一种方式说吗?嗨,我需要按下一个按钮并计算我按下按钮的秒数(我的手指在按钮上的秒数),如果我把手指放在按钮上5秒,计时器启动并计算5秒,然后我释放按钮计时器停止。谢谢,但如果我按住按钮上的手指锁,它也能工作吗?我尝试使用UILongPressGestureRecognitor,但只有当我移动手指时,它才起作用。除非您在UIScrollView中有此按钮,或者您的UIgestureRecognitor干扰了此按钮。