-self.clipAreaLayer.leftEdge;
offsetY = movePoint.y-self.clipAreaLayer.bottomEdge;
if (offsetX >= 0 && offsetY <= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH && self.clipAreaHeight >= CLIP_AREA_MIN_WH) {
self.clipAreaWidth -= fabs(offsetX);
self.clipAreaHeight -= fabs(offsetY);
self.clipAreaLayer.leftEdge += fabs(offsetX);
self.clipAreaLayer.bottomEdge -= fabs(offsetY);
}else if (offsetX < 0 && offsetY > 0 && self.clipAreaLayer.leftEdge >= CLIP_VIEW_LR_MIN && self.clipAreaLayer.bottomEdge <= SCREEN_HEIGHT-CLIP_VIEW_BOTTOM_MAX){
self.clipAreaWidth += fabs(offsetX);
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.leftEdge -= fabs(offsetX);
self.clipAreaLayer.bottomEdge += fabs(offsetY);
[self scaleImgForBottom];
}
}
break;
case CLIP_AREA_RT:
{
offsetX = movePoint.x-self.clipAreaLayer.rightEdge;
offsetY = movePoint.y-self.clipAreaLayer.topEdge;
if (offsetX <= 0 && offsetY >= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH && self.clipAreaHeight >= CLIP_AREA_MIN_WH) {
self.clipAreaWidth -= fabs(offsetX);
self.clipAreaHeight -= fabs(offsetY);
self.clipAreaLayer.rightEdge -= fabs(offsetX);
self.clipAreaLayer.topEdge += fabs(offsetY);
}else if (offsetX > 0 && offsetY < 0 && self.clipAreaLayer.rightEdge <= SCREEN_WIDTH-CLIP_VIEW_LR_MIN && self.clipAreaLayer.topEdge >= CLIP_VIEW_TOP_MIN){
self.clipAreaWidth += fabs(offsetX);
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.rightEdge += fabs(offsetX);
self.clipAreaLayer.topEdge -= fabs(offsetY);
[self scaleImgForTop];
}
}
break;
case CLIP_AREA_RB:
{
offsetX = movePoint.x-self.clipAreaLayer.rightEdge;
offsetY = movePoint.y-self.clipAreaLayer.bottomEdge;
if (offsetX <= 0 && offsetY <= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH && self.clipAreaHeight >= CLIP_AREA_MIN_WH) {
self.clipAreaWidth -= fabs(offsetX);
self.clipAreaHeight -= fabs(offsetY);
self.clipAreaLayer.rightEdge -= fabs(offsetX);
self.clipAreaLayer.bottomEdge -= fabs(offsetY);
}else if (offsetX > 0 && offsetY > 0 && self.clipAreaLayer.rightEdge <= SCREEN_WIDTH-CLIP_VIEW_LR_MIN && self.clipAreaLayer.bottomEdge <= SCREEN_HEIGHT-CLIP_VIEW_BOTTOM_MAX){
self.clipAreaWidth += fabs(offsetX);
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.rightEdge += fabs(offsetX);
self.clipAreaLayer.bottomEdge += fabs(offsetY);
[self scaleImgForBottom];
}
}
break;
case IMAGE_VIEW:
{
[self.imgView setCenter:CGPointMake(self.imgView.center.x + translation.x, self.imgView.center.y+translation.y)];
[panGes setTranslation:CGPointZero inView:self.imgView.superview];
}
break;
default:
break;
}
if (self.acGeView != IMAGE_VIEW) {
[self setUpClipLayer:NO];
}
}
if (panGes.state == GR_ENDED) {
if (self.acGeView == IMAGE_VIEW) {
//修正imgView位置————必须铺满clipAreaLayer
[UIView animateWithDuration:0.5 animations:^{
if (CGRectGetMinY(self.imgView.frame)>self.clipAreaLayer.topEdge) {
self.imgView.frame = CGRectMake(CGRectGetMinX(self.imgView.frame), self.clipA |