iOS显示UIImage全屏,并启用缩放(收缩和双击)

iOS显示UIImage全屏,并启用缩放(收缩和双击),ios,iphone,objective-c,uiimageview,uiimage,Ios,Iphone,Objective C,Uiimageview,Uiimage,我用UIImagePickerController从相机中捕获了一幅UIImage 现在,在用户点击它之后,我希望它显示全屏,并且能够使用捏手势和双击手势放大和缩小它,以放大特定区域。换句话说,我想模仿ios的默认图像浏览器的功能 我在UIImageView中显示捕获的图像,其中包括: self.imageView.contentMode = UIViewContentModeScaleAspectFill; 这使得图像可以全屏显示。但是如何实现缩放呢。我需要使用手势识别器从头开始吗?或者可能

我用
UIImagePickerController
从相机中捕获了一幅
UIImage

现在,在用户点击它之后,我希望它显示全屏,并且能够使用捏手势和双击手势放大和缩小它,以放大特定区域。换句话说,我想模仿ios的默认图像浏览器的功能

我在
UIImageView
中显示捕获的图像,其中包括:

self.imageView.contentMode = UIViewContentModeScaleAspectFill;

这使得图像可以全屏显示。但是如何实现缩放呢。我需要使用手势识别器从头开始吗?或者可能有一个默认的图像显示视图,其中包含我不知道的所有实现

我已经为我的一个应用程序创建了这个效果,别忘了设置scrollview的委托

.h文件的代码

#import <UIKit/UIKit.h>

@interface ImageViewerController : UIViewController<UIScrollViewDelegate>

// The scroll view used for zooming.
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

// The image view that displays the image.
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

// The image that will be shown.
@property (strong, nonatomic) NSString *imageUrlString;

@end

这很容易实现:

- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer;
然后:

- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer {    
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;    
} 

看看这个:除了在ViewDidLoad中设置myscrollview的委托外,我还需要在interface builder中设置它吗?因为现在什么都没发生。如果是,怎么做?我看不到它。不,如果您在viewDidLoad中设置它,那么就不需要这样做。还需要将这些添加到viewDidLoad中:“self.scrollView.minimumZoomScale=1;self.scrollView.maximumZoomScale=6.0;self.scrollView.contentSize=self.imageView.frame.size;self.scrollView.delegate=self;”
- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer {    
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;    
}