case 301://旋转90度——顺时针
{
_rorateNum++;
[UIView animateWithDuration:0.5 animations:^{
self.shaView.isSetShadow = NO;
}];
self.clipAreaLayer.hidden = YES;
CGFloat dura = 1.0f;
//旋转前:记录imgView与clipAreaLayer左边和底边的距离
CGFloat preRoOffsetX = fabs(CGRectGetMaxY(self.imgView.frame)-self.clipAreaLayer.bottomEdge);
CGFloat preRoOffsetY = fabs(CGRectGetMinX(self.imgView.frame)-self.clipAreaLayer.leftEdge);
//旋转
[UIView animateWithDuration:dura animations:^{
CGAffineTransform trans = CGAffineTransformMakeRotation(_valueOffset);
self.imgView.transform = trans;
}];
_valueOffset += M_PI_2;
if (_rorateNum == kRotateNumMax) {
_valueOffset = M_PI_2;
_rorateNum = 0;
}
//切换坐标——imgView的frame自动修正
[self changeXYWithRotation:_valueOffset];
UIImage *agerImage = [self getRotatedImg];
self.targetImg = agerImage;
CGFloat temp = self.clipAreaWidth;
self.clipAreaWidth = self.clipAreaHeight;
self.clipAreaHeight = temp;
CGFloat scale = [self drawClipArea];
// [self setUpClipLayer:YES];
//旋转后:调整imgView的位置——左变上,底变左
self.imgView.frame = CGRectMake(self.clipAreaLayer.leftEdge-preRoOffsetX, self.clipAreaLayer.topEdge-preRoOffsetY, CGRectGetWidth(self.imgView.frame), CGRectGetHeight(self.imgView.frame));
//缩放
CABasicAnimation *baAniScale = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
baAniScale.beginTime = dura;
baAniScale.duration = dura;
baAniScale.fromValue = @1;
baAniScale.toValue = @(scale);
[self.imgView.layer addAnimation:baAniScale forKey:nil