2012-12-05 80 views
1

我有一個問題 - 是否有iPhone的任何可能性,使UITapGestureRecognizer響應只在UIImageView的一部分水龍頭。實際上,問題如下 - 有一個帶有手勢識別器添加的UIImageView,這些UIImageView的某些部分被其他視圖覆蓋。當點擊這個其他視圖時,UIImageView識別出水龍頭。這個問題如何解決?重疊的意見和gestureRecognizer iPhone

+0

如果你得到答案,然後告訴我。 –

回答

1

我不知道我理解你的問題。您是否希望在重疊圖像視圖的視圖被點擊時觸發手勢識別器?如果是這樣,我想你可以將手勢識別器添加到重疊視圖。

如果您有兩個重疊的視圖,並且只想處理重疊部分被觸摸時的觸摸,我建議在主視圖中添加輕擊手勢識別器並檢查重疊是否被觸摸。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizerTriggered:)]; 
    [self.view addGestureRecognizer:gestureRecognizer]; 
} 

- (void)tapGestureRecognizerTriggered:(UITapGestureRecognizer *)gestureRecognizer 
{ 
    CGPoint location = [gestureRecognizer locationInView:self.view]; 
    if (CGRectContainsPoint(self.frontView.frame, location) && 
     CGRectContainsPoint(self.backView.frame, location)) 
    { 
     // Handle touch 
    } 
} 

如果您想要處理觸摸,如果觸摸發生在前面CGRectContainsPoint(self.backView.frame, location)從條件語句。

+0

對不起,我的問題是不同的 - 我不希望我的圖像在視圖重疊時被觸發 –

+0

謝謝。這是我需要的! – Vayn