2016-11-10 44 views
0

我有一個imageview,我只想點擊imageview的一側。是否可以爲手勢設置框架?任何人都可以提供解決方案嗎?如何爲TapGesture識別器設置框架

+1

只需添加攝像畫面的透明視圖一面,再加入姿態這一觀點...... –

+0

歡迎蘇米... –

+0

歡迎來到堆棧溢出!我編輯了你的問題的標題,包括更多的細節,並澄清你的問題。您無法爲螞蟻類型的手勢設置框架,您將手勢識別器添加到視圖對象,然後可以操縱視圖的框架或在添加輕擊手勢的視圖中測試輕擊的位置。 –

回答

1

使用UIGestureRecognizerDelegate,我認爲你可以得到關於如何比較的想法:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 
    if ([touch locationInView:yourview].x < somePoint.x) { 
     return false; 
    } else { 
     return true; 
    } 
} 
1

你可以覆蓋在ImageView的頂視圖和水龍頭識別到這個新的觀點,這樣的事情會使圖像tapable

UIView tapView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, imageView.frame.size.width/2, imageView.frame.size.height)]; 

[imageView addSubView:tapView] 

UITapGestureRecognizer *singleFingerTap = 
    [[UITapGestureRecognizer alloc] initWithTarget:self 
              action:@selector(handleSingleTap:)]; 
[tapView addGestureRecognizer:singleFingerTap]; 
0

您可以簡單地把UIView的上框,按您的要求,您的ImageView頂部的左側,把輕敲姿勢上的UIView。

您可以通過storyboard/xib或以編程方式完成此操作。

以編程方式,例如 - 您只想點擊寬度爲50px的imageView區域。對於這一點:

UIView *vw = [[UIView alloc] initWithFrame:CGRectMake(imgView.frame.origin.x, imgView.frame.origin.y, 50, imgView.frame.size.height)]; 

    // add gesture to view 
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; 
    tapGesture.numberOfTapsRequired = 2; 
    [vw addGestureRecognizer:tapGesture]; 

    [imgView addSubview:vw]; 

現在處理您雙擊

-(void)handleTapGesture:(UITapGestureRecognizer *)gesture 
{ 
    // handle double tap 
} 
相關問題