IOS 照片编辑的照片编辑的view封装的实例详解封装的实例详解
IOS 照片编辑的照片编辑的view封装封装
该控件有旋转,缩放,拖动,剪裁的功能,封装成了一个ImageCropperView类
需要导入的库:QuartzCore.framework
ImageCopperView.h
#import <UIKit/UIKit.h>
@protocol ImageCropperDelegate;
@interface ImageCropperView : UIView {
UIImageView *imageView;
id <ImageCropperDelegate> delegate;
}
@property (nonatomic, retain) UIImage *image;
@property (nonatomic, retain) UIImage *croppedImage;
@property (nonatomic, assign) id <ImageCropperDelegate> delegate;
@property (nonatomic, assign) BOOL enable;
@property (nonatomic, assign) BOOL isPaning;
- (void)setup;
- (void)finishCropping;
- (void)reset;
@end
@protocol ImageCropperDelegate <NSObject>
- (void)changeMoveStateWithCropper:(UIPanGestureRecognizer*)gesture Crop:(ImageCropperView*)imageCrop;
@end
ImageCopperView.m
#import "ImageCropperView.h"
#import <QuartzCore/QuartzCore.h>
#include <math.h>
#import "UIImage+Rotation.h"
@interface ImageCropperView()
{
@private
CGSize _originalImageViewSize;
}
@property (nonatomic, retain) UIImageView *imageView;
@end
@implementation ImageCropperView
@synthesize imageView, image = _image, delegate, croppedImage;
- (void)setup
{
_enable = YES;
self.clipsToBounds = YES;
self.backgroundColor = [UIColor clearColor];
self.imageView = [[[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.frame.size.width, self.frame.size.height)]
autorelease];
imageView.userInteractionEnabled = YES;
[self addSubview:imageView];
UIRotationGestureRecognizer *rotateGes = [[UIRotationGestureRecognizer alloc] initWithTarget:self