2015-11-06 77 views
0

所以我有一個自定義視圖,我在viewcontroller的for循環中創建了很多。雖然正在創建它們,我打電話給他們每個人的這個方法:TapGestureRecognizer不會調用選擇器

-(void)setUpStuff{ 
    //Random setup code 
    [self setUserInteractionEnabled:YES]; 
    tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tileSelected:)]; 
    tapGesture.numberOfTapsRequired = 1; 
    tapGesture.numberOfTouchesRequired = 1; 
    [self addGestureRecognizer:tapGesture]; 
} 

,這是它應該被調用的選擇:

-(void)tileSelected{ 
    NSLog(@"Why am I not working?"); 
    [self.delegate tileSelected:self]; 
} 

這也許值得一提的是,這customView有嵌入其中的imageView和標籤。我已經嘗試在imageView中添加手勢識別器,並確保imageView被帶到最前面,但是,這也行不通。任何想法?

+0

也許你的問題已經是與[這](http://stackoverflow.com/questions/31049033/uitapgesturerecognizer-not-working-on -ios9)? – Leonardo

+0

沒有運氣,我正在編程設置它,就像他在爲他工作時所做的那樣D: – DemetriP

回答

1

你選擇的呼叫是錯誤的

它應該是:

tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tileSelected)]; 

沒有:你需要設置視圖的用戶交互的

+0

我已經嘗試過兩次都沒有運氣。 – DemetriP

+0

你在哪裏打電話給setUpStuff? – Leonardo

+0

我在我的ViewDidLoad中調用它,在一個單獨的視圖控制器中創建這個自定義視圖的數組。在我創建它們的for循環中,我在每個customView上調用setUpStuff,因爲我設置了其他屬性。 – DemetriP

0

Firts使您在其上添加手勢,也您的選擇器在方法末尾包含:,這意味着您需要在方法中添加參數,或者只需從選擇器的末尾刪除:。

+0

我打電話給自己啓用用戶交互,這是一個視圖。我也嘗試過沒有冒號,沒有運氣。 – DemetriP

0

你可以改變你tileSelected FUNC按鍵:`

-(void)tileSelected:(UITapGestureRecognizer*)gesture{ 
    NSLog(@"Why am I not working?"); 
    [self.delegate tileSelected:self]; 
} 
+0

添加後沒有運氣:/ – DemetriP

+0

@DemetriP您將gestureRecognizer添加到您的自定義視圖中,當您點擊您的imageView時,手勢不會被觸發。 – wj2061

+0

我已經嘗試將它添加到自定義視圖中的imageView,但沒有任何運氣,要麼 – DemetriP

相關問題