2016-11-10 20 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 
} 
相关问题