圖片的縮放和還原CGAffineTransformIdentity
阿新 • • 發佈:2019-02-07
使用手勢配合完成圖片的變化,使用CGAffineTransformIdentity,想讓他雙擊就回到圖片為編輯以前的檢視,先新增一個圖片,然後讓圖片保持寬高比不變的情況下,最大的在檢視中顯示,當雙擊想回到這個編輯後的檢視時,它卻回到了剛新增的時候,沒有做任何編輯的時候,請問CGAffineTransformIdentity,應該怎麼用?
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//建立檢視初始狀態
UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"5"]];
self.imageView = imageView;
self.imageView.center = self.view.center;
CGFloat scalex = self.view.frame.size.width/self.imageView.frame.size.width;
CGFloat scaley = self.view.frame.size.height/self.imageView.frame.size.height;
self.imageView.transform = CGAffineTransformMakeScale(MIN(scaley, scalex),MIN(scalex, scaley));
self.imageView.userInteractionEnabled = YES;
[self.view addSubview:self.imageView];
//建立手勢
UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
[self.imageView addGestureRecognizer:tapGR];
}
-(void)tap:(UITapGestureRecognizer *)tapgr
{
tapgr.numberOfTapsRequired = 2;
self.imageView.transform = CGAffineTransformIdentity;
}
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//建立檢視初始狀態
UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"5"]];
self.imageView = imageView;
self.imageView.center = self.view.center;
CGFloat scalex = self.view.frame.size.width/self.imageView.frame.size.width;
CGFloat scaley = self.view.frame.size.height/self.imageView.frame.size.height;
self.imageView.transform = CGAffineTransformMakeScale(MIN(scaley, scalex),MIN(scalex, scaley));
self.imageView.userInteractionEnabled = YES;
[self.view addSubview:self.imageView];
//建立手勢
UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
[self.imageView addGestureRecognizer:tapGR];
}
-(void)tap:(UITapGestureRecognizer *)tapgr
{
tapgr.numberOfTapsRequired = 2;
self.imageView.transform = CGAffineTransformIdentity;
}