Iphone 如何对单击的imageview执行某些操作?

Iphone 如何对单击的imageview执行某些操作?,iphone,objective-c,ios,Iphone,Objective C,Ios,我正在做一个照片拼贴申请。我想在图像视图上执行一个操作,这样任何人都可以帮助我解决问题。当我从照片库中选择图像并在双击图像视图后显示在图像视图上时,我想按下或显示一个新视图来裁剪此图像…因此,请告诉我如何解决我的问题…您应该使用UIButton而不是UIImageView。您可以将其样式设置为“自定义”,然后将其指定为图像。UIButton提供了所有内置的双击方法。您应该使用UIButton而不是UIImageView。您可以将其样式设置为“自定义”,然后将其指定为图像。UIButton提供了所

我正在做一个照片拼贴申请。我想在图像视图上执行一个操作,这样任何人都可以帮助我解决问题。当我从照片库中选择图像并在双击图像视图后显示在图像视图上时,我想按下或显示一个新视图来裁剪此图像…因此,请告诉我如何解决我的问题…

您应该使用UIButton而不是UIImageView。您可以将其样式设置为“自定义”,然后将其指定为图像。UIButton提供了所有内置的双击方法。

您应该使用UIButton而不是UIImageView。您可以将其样式设置为“自定义”,然后将其指定为图像。UIButton提供了所有内置的双击方法。

制作一个按钮,并清除其颜色。在按钮的背面,放置您的图像视图,这样您的图像视图看起来是可见的,而按钮不可见。现在将事件附加到按钮。

制作一个按钮,并清除其颜色。在按钮的背面,放置您的图像视图,这样您的图像视图看起来是可见的,而按钮不可见。现在将事件附加到按钮。

使用自定义类型的UIButton,并在其中放置图像。您就完成了。

使用自定义类型的UIButton并在其中放置一个图像。您已经完成了。

如果您使用的是UIImageView,请确保使用
setUserInteractionEnabled:YES
。然后,您需要在触摸开始、结束和取消中检查您的触摸。

如果您使用的是UIImageView,请确保使用
setUserInteractionEnabled:YES
。然后,您需要在touchsbegind、ended和canceled中检查您的触摸。

如果设置为使用UIImageView,则必须将UIImageView子类化,并覆盖要拦截的触摸方法。例如:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   // Call super to make sure you don't lose any functionality
   [super touchesBegan:touches withEvent:event];

   // Perform the actions you want to perform with the tap.
}

使用UIButtons作为UIImageViews的替代品是一个好主意,您只需将每个按钮的连接拖动到视图控制器中的某个出口,然后处理该操作即可。您可以像当前使用UIImageView时那样,在按钮上设置背景图像。将按钮类型设置为custom(自定义),您就可以很好地使用g

如果设置为使用UIImageView,则必须将UIImageView子类化,并覆盖要拦截的触摸方法。例如:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   // Call super to make sure you don't lose any functionality
   [super touchesBegan:touches withEvent:event];

   // Perform the actions you want to perform with the tap.
}

使用UIButtons作为UIImageViews的替代品是一个好主意,您只需将每个按钮的连接拖动到视图控制器中的某个出口,然后处理该操作即可。您可以像当前使用UIImageView时那样,在按钮上设置背景图像。将按钮类型设置为“自定义”,您就可以为ImageView添加手势了

UITapGestureRecognizer *sg=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(HandleEvent)];
    sg.numberOfTapsRequired=2;
    [BottomBar addGestureRecognizer:sg];
    [sg release];
在这里完成您的任务:

-(void)HandleEvent
{

// your task
}

谢谢

为ImageView添加手势

UITapGestureRecognizer *sg=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(HandleEvent)];
    sg.numberOfTapsRequired=2;
    [BottomBar addGestureRecognizer:sg];
    [sg release];
在这里完成您的任务:

-(void)HandleEvent
{

// your task
}

如果您使用的是UIImageView类,请首先设置setUserInteractionEnabled:是。然后将UICapgestureRecognitizer事件设置为图像视图。

如果您使用的是UIImageView类,请首先设置setUserInteractionEnabled:是。然后将UITapgestureRecognitizer事件设置为图像视图。

尝试此操作

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
 CGPoint locationPoint = [[touches anyObject] locationInView:self.view];
    CGPoint viewPoint = [imageView convertPoint:locationPoint fromView:self.view];
    if ([imageView pointInside:viewPoint withEvent:event]) {
       //do something
    }
}
试试这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
 CGPoint locationPoint = [[touches anyObject] locationInView:self.view];
    CGPoint viewPoint = [imageView convertPoint:locationPoint fromView:self.view];
    if ([imageView pointInside:viewPoint withEvent:event]) {
       //do something
    }
}

正如下面的答案所示,如果没有迫切的理由使用
UIImageView
您最好按照下面的答案使用自定义
UIButton
,如果没有使用
UIImageView
的紧迫理由,您最好使用自定义
UIButton
我也会检查此按钮,但当我再次单击按钮时,它会再次执行相同的操作,因此如何解决此问题problem@kuldeepsingh单击按钮后将其禁用。。。button.userInteractionEnabled=否;我也检查了这个按钮,但当我第二次点击按钮时,它再次执行相同的操作,所以如何解决这个问题呢problem@kuldeepsingh单击按钮后将其禁用。。。button.userInteractionEnabled=否;在许多情况下,这是更好的解决方案。它为我指明了正确的方向!谢谢在许多情况下,这是更好的解决方案。它为我指明了正确的方向!谢谢