我在导航栏上有左右导航栏按钮,两者都可以同时点按,并且他们的动作被触发,我该如何防止多次触摸。我在这里和谷歌搜索过,但没有成功
答案 0 :(得分:1)
您还可以在每个按钮上使用-setExclusiveTouch,以便一次只能注册一个按钮。您无需在视图上禁用多点触控。
答案 1 :(得分:1)
非常简单,你可以在这种情况下使用ExclusiveTouch属性
[self.navigationController.navigationBar setExclusiveTouch:YES];
这是一个布尔值,指示接收器是否专门处理触摸事件。
将此属性设置为YES会导致接收方阻止将触摸事件传递到同一窗口中的其他视图。此属性的默认值为NO。
答案 2 :(得分:0)
exclusiveTouch
有一个名为UIButton
的属性。使用如下所示创建导航按钮:
例如:
UIButton *btnAdd = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 38, 37)];
[btnAdd setContentMode:UIViewContentModeScaleAspectFit];
[btnAdd setBackgroundImage:[UIImage imageNamed:@"abc.png"] forState:UIControlStateNormal];
[btnAdd addTarget:selfaction:@selector(<method>) forControlEvents:UIControlEventTouchUpInside];
[btnAdd setExclusiveTouch:YES];
UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] initWithCustomView:btnAdd];
self.navigationItem.rightBarButtonItem = rightBtn;