0

我有一个图像视图,我在上面设置了图像。我想通过单击该图像打开该图像的特写视图。我们怎样才能做到这一点?任何的想法

4

4 回答 4

0

首先这样做:

imageView.userInteractionEnabled = YES;

另一件事是在 yourViewController 的 .h 中添加 UIGestureRecognizerDelegate

@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>
#import <QuartzCore/QuartzCore.h>

现在在 imageView 中添加 UITapGestureRecognizer。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)];
    tap.cancelsTouchesInView = YES;
    tap.numberOfTapsRequired = 1;
    tap.delegate = self;
    [imageView addGestureRecognizer:tap];
    [tap release];

// handle method
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer {
   // your closeup view here on image click
   UIImageView *imgPopView = [UIImageView alloc]initWithFrame:self.view.frame];
   // Add image in imgPopView
   [self.view addSubView:imgPopView];

   // instantaneously make the image view small (scaled to 1% of its actual size)
   imgPopView.transform = CGAffineTransformMakeScale(0.01, 0.01);
  [UIView animateWithDuration:0.4 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
    // animate it to the identity transform (100% scale)
    iimgPopView.transform = CGAffineTransformIdentity;
  } completion:^(BOOL finished){
    // if you want to do something once the animation finishes, put it here
  }];

}
于 2012-08-30T05:52:44.990 回答
0

嗨,你可以做很多事情来做到这一点

  1. 在 imageView 上制作自定义类型按钮,然后单击按钮做任何你想做的事情。

  2. 使用触摸开始委托,您可以识别您在屏幕上触摸的位置,然后检查触摸坐标是否为图像。

  3. 使用GestureRecognizer.

于 2012-08-30T05:56:09.270 回答
0

请按照以下步骤操作。

  1. 添加点击手势,UIImageView如下所示。

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)]; tap.cancelsTouchesInView = YES; tap.numberOfTapsRequired = 1; tap.delegate = 自我;[imageView addGestureRecognizer:tap]; [点击释放];

    // 处理方法

    • (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer { // 您在此处点击图片时的特写视图 }
  2. 创建一类UIViewController. 将对象放入其中并使用IBOutletUIImageView将其连接到 XIB 文件,并创建 UIImage 对象作为属性。

  3. 在函数中创建 UIViewController 对象- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer并将当前对象或原始对象从路径图像路径设置为控制器的图像属性。
  4. viewDidLoad在控制器类的方法中将属性 image 设置为 UIImageView 的 image 属性。

希望这有帮助。

于 2012-08-30T06:05:29.737 回答
0

Prince 给出的答案是正确的。您必须通过更改方法中的 ImageView Frame 来动画到 ImageView

- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer 
{
// your closeup view here on image click
[yourImageView setFrame:CGRectMake(x, y, width, height)];

}

您可以添加动画CATransition来获得像弹出窗口一样的效果。

于 2012-08-30T06:07:37.860 回答