UIImageView 点击放大而不使用 UIScrollView

Posted

技术标签:

【中文标题】UIImageView 点击放大而不使用 UIScrollView【英文标题】:UIImageView tap to zoom in witout UIScrollView 【发布时间】:2015-02-08 13:16:05 【问题描述】:

我用 UIImageView 构建了一个应用程序,我搜索了网络,但没有找到一个完整的解决方案,没有 UIScrollView 可以在我的视图中点击放大。

这是我现在拥有的,但效果不好:

有可能吗?如果有更好的方法,我希望你能帮助我。

在 viewDidLoad 中:

 UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];

[doubleTap setNumberOfTapsRequired:2];

[imageViewForCrop addGestureRecognizer:doubleTap];

我的手柄双击方法:

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer


CGPoint tappedPoint = [gestureRecognizer locationInView:self.view];
CGFloat xCoordinate = tappedPoint.x;
CGFloat yCoordinate = tappedPoint.y;



   // zoom in
[imageViewForCrop setFrame:CGRectMake( imageViewForCrop.frame.origin.x , imageViewForCrop.frame.origin.y  , imageViewForCrop.frame.size.width +200, imageViewForCrop.frame.size.height+200)];

imageViewForCrop.center = CGPointMake(xCoordinate , yCoordinate);

【问题讨论】:

您想放大以查看图像的更多细节还是将其放大? 只是在用户点击的地方变大。 你想放大用户点击的点还是无论如何都放大? 想要在用户点击的地方放大。 【参考方案1】:

尝试使用转换。这将使图像视图的大小是原始视图的两倍。

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer 
    imageViewForCrop.transform = CGAffineTransformMakeScale(2.0, 2.0);

【讨论】:

效果很好,我如何才能看到我按下屏幕的图像?因为现在图像在没有通过点击中心保存的情况下增长。 图片包含在UIImageView中。然而,图像并没有改变。您要保存转换后的图像吗?

以上是关于UIImageView 点击放大而不使用 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIImageView 上的缩放按钮进行缩放

arcmap布局视图下,怎么只放大数据而不放大页面?

缩放后 UIImageView 在 PageControl 的右侧被切断

如何使用滑块值更改放大缩小 UIimageView

iOS 图片点击放大, 再次点击缩小

在 UIScrollView 中放大多个 UIImageView