gpt4 book ai didi

iphone - UIImageView 在 UIScrollView 中捏缩放

转载 作者:行者123 更新时间:2023-12-03 20:41:53 28 4
gpt4 key购买 nike

我对使用 UIScrollView 的捏合缩放功能感到满意。但问题是 ScrollView 中图像的宽高比。

目前,我有这个,如下图:

enter image description here

但我希望图像适合屏幕,如下图所示:

enter image description here

对于景观也有同样的行为。我怎样才能实现这个目标?

下面是代码:

- (void)viewDidLoad
{
UIImage *image = [UIImage imageWithData:appDelegate.selectedOriginalImage];
imgView.image = image;
CGSize imageSize = image.size;
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height);
imgView.frame = rect;
scrollView.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height);
scrollView.maximumZoomScale = 4.0;
scrollView.minimumZoomScale = 1.0;
scrollView.delegate = self;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
UIImage *image = [UIImage imageWithData:appDelegate.selectedOriginalImage];
CGSize imageSize = image.size;
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height);
imgView.frame = rect;

[scrollView setContentOffset:CGPointMake(0, 0)];

return YES;
}

最佳答案

您将 UIImageView 设置为图像的原始大小,而不是包含该图像的 UIScrollView 的大小。

- (void)viewDidLoad
{
UIImage *image = [UIImage imageWithData:appDelegate.selectedOriginalImage];
imgView.image = image;

imgView.frame = scrollView.bounds;
[imgView setContentMode:UIViewContentModeScaleAspectFit];
scrollView.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height);
scrollView.maximumZoomScale = 4.0;
scrollView.minimumZoomScale = 1.0;
scrollView.delegate = self;
}

记住在 viewToZoom 委托(delegate)方法上返回 imgView

关于iphone - UIImageView 在 UIScrollView 中捏缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746085/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com