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; 

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