ios - 在 iOS 中应该使用什么 scrollview 和 imageview 设置来显示可缩放的图片?

标签 ios uiscrollview uiimageview zooming

尝试在 ScrollView 中的 ImageView 中放大 png 时,我遇到了一些奇怪的行为。我认为我在实用程序 Pane 中设置了错误的约束或设置。如果我想先看到整个图片然后再放大,它们应该是什么?

图像呈现,但当我尝试捏放大和缩小时,只有图片的高度变大或变小,宽度停留在 iPhone 屏幕宽度。但是,如果我摆弄得足够多,我可以进一步放大,但一切都会变得扭曲和旋转。知道我做错了什么吗?

这是我现在在 View Controller 实现文件中的代码:

@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

最佳答案

先设置图片内容模式为UIViewContentModeScaleAspectFit

[self.imageView setContentMode:UIViewContentModeScaleAspectFit];

然后设置scrollview内容大小

self.scrollView.contentSize = self.areaImageView.frame.size;

不要忘记设置 ScrollView 委托(delegate)

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

 ...

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

关于ios - 在 iOS 中应该使用什么 scrollview 和 imageview 设置来显示可缩放的图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14451315/

相关文章:

ios - 有没有办法在 XCode 4.3.2 的 TextView 中同时使用斜体和粗体?

ios - Swift:UIScrollView 和 UIControl - 添加目标 | addGestureRecognizer - 未按预期工作

ios - UIScrollView 底部的 UIButton 不起作用

ios - 无法在 iPad 的 ios 应用程序中使用 swift 2 准备圆形 ImageView

ios - 我想在 iOS 中按角度旋转图像

objective-c - Facebook iOS SDK。用户点击 "Don' t 允许后的 native 身份验证”

iOS - 我可以阻止应用程序中任何联系人的来电和消息吗?

ios 8 ScrollView 切断内容的宽度

iphone - 如何实现代码以实时更新显示的 UIImageView?

ios - 在通知扩展中单击通信按钮