1

我有一个8个不同的UIButton酒吧。每个UIButton都选中了“显示突出显示触摸”属性。并非所有8个按钮都同时显示。在滑动手势识别器上禁用“显示触控亮点”

我将它们分成两组,分别是4 UIButton,我使用UISwipeGestureRecognizer为了在两个视图之间切换。

This works great。

所以,这里是我的问题:

当我刷卡和触摸按钮我仍然看到触摸亮点的动画之一,虽然按钮的功能不会触发(因为我刷卡)。

在这种情况下(滑动),我不想看到触摸突出显示。我该如何禁用它?

+0

设置你的按钮像self.btn.showsTouchWhenHighlighted = NO; – 2013-02-25 06:53:46

+0

btn.showsTouchWhenHighlighted = NO;使用此属性。 – user247 2013-02-25 06:56:30

+0

我不想禁用突出显示 - 我只想在识别轻扫手势时禁用它 – YogevSitton 2013-02-25 09:48:38

回答

1

使用UIButton showsTouchWhenHighlighted的财产。

例子:self.btn.showsTouchWhenHighlighted = NO

+0

我不认为他想要永久禁用突出显示,只是触摸是轻扫手势的一部分。 – 2013-02-25 06:57:50

+0

Scott - 没错 - 我只想在滑动生效时禁用高光 – YogevSitton 2013-02-25 09:38:05

0

我建议你使用的UIImageView更换到按钮

这里的例子:

UISwipeGestureRecognizer *swiper = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwip:)] autorelease]; 
[swiperTopL setDirection:UISwipeGestureRecognizerDirectionLeft]; 
[imageView addGestureRecognizer:swiper]; 


UITapGestureRecognizer *tapButton = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(buttonTap:)] autorelease]; 
[imageView addGestureRecognizer:tapButton]; 

希望它可以帮助你, 谢谢!

韦恩

+0

我不明白 - 这将如何帮助? – YogevSitton 2013-02-27 12:16:12

1

为了解决这个问题,我已经更换了的UIButton有一个UILabel和连接自来水处理程序。 由于UILabel没有突出显示,所以不会干扰滑动。

下面是一个代码示例:

UITapGestureRecognizer *tapLabel = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]; 
[tapLabel setNumberOfTouchesRequired:1]; 
[tapLabel setNumberOfTapsRequired:1]; 
[titleLabel addGestureRecognizer:tapLabel]; 
titleLabel.userInteractionEnabled = TRUE; 

它更像是一个解决方法不是解决方案,但它可能是有用的。