在iOS中显示可缩放图片时应使用哪些scrollview和imageview设置?

在iOS中显示可缩放图片时应使用哪些scrollview和imageview设置?,ios,uiscrollview,uiimageview,zooming,Ios,Uiscrollview,Uiimageview,Zooming,当我试图放大图像视图中的png时,在滚动视图中,会出现一些奇怪的行为。我想我在实用程序窗格中设置的约束或设置是错误的。如果我想先看到整张照片,然后放大它,它们应该是什么 图像进行了渲染,但当我尝试收缩放大和缩小时,只有图片的高度变大或变小,宽度固定在iPhone屏幕的宽度上。不过,如果我拨弄得足够多,我可以进一步放大,但一切都会扭曲和旋转。知道我做错了什么吗 下面是我现在在视图控制器实现文件中的代码: @interface ZooViewController () @property (weak

当我试图放大图像视图中的png时,在滚动视图中,会出现一些奇怪的行为。我想我在实用程序窗格中设置的约束或设置是错误的。如果我想先看到整张照片,然后放大它,它们应该是什么

图像进行了渲染,但当我尝试收缩放大和缩小时,只有图片的高度变大或变小,宽度固定在iPhone屏幕的宽度上。不过,如果我拨弄得足够多,我可以进一步放大,但一切都会扭曲和旋转。知道我做错了什么吗

下面是我现在在视图控制器实现文件中的代码:

@interface ZooViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@end

@implementation ZooViewController
@synthesize imageView;
@synthesize scrollView;

-(void)viewDidLoad
{
    [super viewDidLoad];

    [self.imageView setContentMode:UIViewContentModeScaleAspectFit];

    self.scrollView.contentSize = self.imageView.image.size;
    self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width,     self.imageView.image.size.height);

}

-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView{

    return self.imageView;
}

-(void)didReceiveMemoryWarning
{

    [super didReceiveMemoryWarning];

}


-(void)viewDidUnload{

    [self setImageView:nil];
    [self setScrollView:nil];
    [super viewDidUnload];
}

@end

首先将图像内容模式设置为UIViewContentModeScaleSpectFit

[self.imageView setContentMode:UIViewContentModeScaleAspectFit];
然后设置scrollview内容大小

self.scrollView.contentSize = self.areaImageView.frame.size;
不要忘记设置scrollview代理

 // For supporting zoom,
 scrollView.minimumZoomScale = 0.5;
 scrollView.maximumZoomScale = 2.0;

 ...

 // Implement a single scroll view delegate method
 - (UIView*)viewForZoomingInScrollView:(UIScrollView *)aScrollView {
   return imageView;
  } 

是否有一些您认为有责任的代码可以发布?也许是这个问题的图片/屏幕截图?@NANNAV,谢谢你的代码!不过,我对脚本实用程序面板中的设置与代码本身的关系感到困惑。代码是否覆盖设置,反之亦然?对于初学者的问题,我很抱歉。我想我可能已经检查或取消检查了故事板实用程序面板中我不应该检查的内容?比如视图或滚动视图实用程序中的内容?现在在模拟器中,它只是上下移动图像,但只是偶尔放大(就像15次尝试中的一次)。是否有特定的宽度和高度大小,我应该用于滚动和图像设置,以使它们相互配合?无论如何,我添加了上面的代码。谢谢