我有一个图像视图,我在上面设置了图像。我想通过单击该图像打开该图像的特写视图。我们怎样才能做到这一点?任何的想法
4 回答
首先这样做:
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
}];
}
嗨,你可以做很多事情来做到这一点
在 imageView 上制作自定义类型按钮,然后单击按钮做任何你想做的事情。
使用触摸开始委托,您可以识别您在屏幕上触摸的位置,然后检查触摸坐标是否为图像。
使用
GestureRecognizer
.
请按照以下步骤操作。
添加点击手势,
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 { // 您在此处点击图片时的特写视图 }
创建一类
UIViewController
. 将对象放入其中并使用IBOutletUIImageView
将其连接到 XIB 文件,并创建 UIImage 对象作为属性。- 在函数中创建 UIViewController 对象
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer
并将当前对象或原始对象从路径图像路径设置为控制器的图像属性。 viewDidLoad
在控制器类的方法中将属性 image 设置为 UIImageView 的 image 属性。
希望这有帮助。
Prince 给出的答案是正确的。您必须通过更改方法中的 ImageView Frame 来动画到 ImageView
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer
{
// your closeup view here on image click
[yourImageView setFrame:CGRectMake(x, y, width, height)];
}
您可以添加动画CATransition
来获得像弹出窗口一样的效果。