如何添加多个水龙头到按钮或UIView?
问题描述:
我希望我的一个屏幕只有在用户每秒在一个按钮上点击三次时才能被访问。例如。如果在视图控制器A上有一个按钮,用户应该在该按钮上轻敲一下,以便到达视图控制器B. 任何帮助表示赞赏!如何添加多个水龙头到按钮或UIView?
答
您需要将点击手势识别器添加到您的自定义视图中。
-(void)handleTapGesture:(UITapGestureRecognizer *)tapGestureRecognizer{
NSLog(@"3 tapped");
//add code to present another View Controller
}
-(void)buttonView{
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGestureRecognizer.numberOfTapsRequired=3;
[self.customButtonView addGestureRecognizer:tapGestureRecognizer];
}
斯威夫特:
func handleTapGesture(tapGestureRecognizer: UITapGestureRecognizer) {
NSLog("3 tapped")
//add code to present another View Controller
}
func buttonView() {
var tapGestureRecognizer: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "handleTapGesture:")
tapGestureRecognizer.numberOfTapsRequired = 3
self.customButtonView.addGestureRecognizer(tapGestureRecognizer)
}
可以在viewDidAppear
调用此方法。
答
按钮没有设置为响应多个水龙头。你必须自己模拟。
正如其他人所说,您可以创建一个轻击手势识别器并将其附加到任何视图。对于某些视图,您需要将userInteractionEnabled标志设置为true,然后才会响应。
如果你想要一个按钮来处理双击,你需要有没有安装动作的按钮,但附加了一个2点击手势识别器。
这不是Swift。 – Wez
我的错误....我会更新我的回答 –
@ Mr.T谢谢你的回答,如果代码很快就会有帮助。我也希望这些水龙头在一秒钟内完成,所以我也需要某种计时器。 –