是否可以在用户点击uibutton时禁用它?
我使用NBTouchAndHoldButton,在我的方法中,我希望在达到某个数字时禁用该按钮。
即
//......
[touchAndHoldButton addTarget:self action:@selector(countNumbers:) forTouchAndHoldControlEventWithTimeInterval:0.2];
//.....
-(void) countNumbers {
[self countTheNumbers];
if (currentNumber == 10) {
touchAndHoldButton.userInteractionEnabled = NO;
}
}
因此,当达到数字10时按住按钮我想要禁用该按钮并忽略该点上的触摸。在上面的示例中,按钮仍然接收来自用户的输入,直到用户抬起手指。然后它进入禁用状态。 这可能吗?
答案 0 :(得分:0)
//..........
[self.btnObj addTarget:self action:@selector(countNumbers) forTouchAndHoldControlEventWithTimeInterval:0.2];
//..............
-(void) countNumbers {
if (currentNumber == 10) {
self.btnObj.userInteractionEnabled = NO;
return;
}
[self countTheNumbers];
}
-(void)countTheNumbers{
currentNumber++;
}
试试这个。希望它可以帮助你。
答案 1 :(得分:0)
假设您使用的是NBTouchAndHoldButton
:https://github.com/balazsnemeth/NBTouchAndHoldButton
在" NBTouchAndHoldButton.h"你需要公开holdTimer属性:
@property (strong, nonatomic) NSTimer* holdTimer;
然后在" NBTouchAndHoldButton.m"中,您需要评论原始的holdTimer
声明并同步化全新创建的属性:
//NSTimer* holdTimer;
@synthesize holdTimer;
这样,只要代码达到指定条件,就可以使计时器无效。假设您的按钮名称为btnStartAnimation
,您所要做的就是:
[btnStartAnimation.holdTimer invalidate];