Ios 按此按钮时长按可连续添加数字
大家好,我有一个问题,当我长按按钮时,我的号码必须连续添加。 比如,如果我按下按钮,他必须将“1,2,3,4,5,6”连续体添加到59。 如果有人能帮我的话Ios 按此按钮时长按可连续添加数字,ios,objective-c,Ios,Objective C,大家好,我有一个问题,当我长按按钮时,我的号码必须连续添加。 比如,如果我按下按钮,他必须将“1,2,3,4,5,6”连续体添加到59。 如果有人能帮我的话 谢谢。您有很多选择。我想到了一对: 选项1:创建UIView的自定义子类,将视图的userInteractionEnabled设置为true,实现touchesBegind/touchesMoved/toucheSend,并开发启动计时器并执行所需操作的逻辑 选项2:创建UIgestureRecognitor的自定义子类,以提供所需的功能。
谢谢。您有很多选择。我想到了一对: 选项1:创建UIView的自定义子类,将视图的userInteractionEnabled设置为true,实现touchesBegind/touchesMoved/toucheSend,并开发启动计时器并执行所需操作的逻辑 选项2:创建UIgestureRecognitor的自定义子类,以提供所需的功能。手势识别器有一个内置机制,用于在发生感兴趣的事件时通知目标。您可以创建自己的,其中包含开始发送消息之前的延迟量以及消息之间的间隔的参数 选项2将提前进行最多的研究,但将为您提供最灵活、可重用的解决方案。我在GitHub上找到了定制UIgestureRecognitor项目示例。和我一起工作过的是
创建自己的手势识别器实际上比您想象的要容易。那是我推荐的路线。这是一次很好的学习体验。我建议您跟踪按钮的不同控制状态。您可以为三个不同的uicontrol事件添加目标,如UIControlEventTouchDown,UIControlEventTouchUpInside,UIControlEventTouchUpOutside。触摸开始时会收到触摸事件,其他两个事件会告诉您触摸已退出。在这些状态之间,您可以计算值并更改一些文本
[button addTarget:self action:@selector(touchStarted:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(touchExited:) forControlEvents:UIControlEventTouchUpInside];
[button addTarget:self action:@selector(touchExited:) forControlEvents:UIControlEventTouchUpOutside];
- (void)touchStarted:(id)sender
{
self.touchInProgress = YES;
/* start your counting operation and do it until the value of touchInProgress BOOL is YES */
}
- (void)touchExited:(id)sender
{
self.touchInProgress = NO;
}