aLayer.rightEdge MinY:self.clipAreaLayer.bottomEdge-PANGR_OFFET MaxY:self.clipAreaLayer.bottomEdge+PANGR_OFFET]){
self.acGeView = CLIP_AREA_RB;
} else {
self.acGeView = 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];
}
}
//滑动过程中位置改变
CGFloat offsetX = 0;
CGFloat offsetY = 0;
if (panGes.state == GR_CHANGED) {
switch (self.acGeView) {
case CLIP_AREA_TOP:
{
offsetY = movePoint.y-self.clipAreaLayer.topEdge;
if (offsetY >=0 && self.clipAreaHeight >= CLIP_AREA_MIN_WH) {
self.clipAreaHeight -= fabs(offsetY);
self.clipAreaLayer.topEdge += fabs(offsetY);
} else if(offsetY < 0 && self.clipAreaLayer.topEdge >= CLIP_VIEW_TOP_MIN) {
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.topEdge -= fabs(offsetY);
[self scaleImgForTop];
}
}
break;
case CLIP_AREA_BOTTOM:
{
offsetY = movePoint.y-self.clipAreaLayer.bottomEdge;
if (offsetY >= 0 && self.clipAreaLayer.bottomEdge <= SCREEN_HEIGHT-CLIP_VIEW_BOTTOM_MAX) {
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.bottomEdge += fabs(offsetY);
[self scaleImgForBottom];
} else if (offsetY < 0 && self.clipAreaHeight >= CLIP_AREA_MIN_WH){
self.clipAreaHeight -= fabs(offsetY);
self.clipAreaLayer.bottomEdge -= fabs(offsetY);
}
}
break;
case CLIP_AREA_LEFT:
{
offsetX = movePoint.x-self.clipAreaLayer.leftEdge;
if (offsetX >= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH) {
self.clipAreaWidth -= fabs(offsetX);
self.clipAreaLayer.leftEdge += fabs(offsetX);
}else if (offsetX < 0 && self.clipAreaLayer.leftEdge >= CLIP_VIEW_LR_MIN){
self.clipAreaWidth += fabs(offsetX);
self.clipAreaLayer.leftEdge -= fabs(offsetX);
}
}
break;
case CLIP_AREA_RIGHT:
{
offsetX = movePoint.x-self.clipAreaLayer.rightEdge;
if (offsetX >= 0 && self.clipAreaLayer.rightEdge <= SCREEN_WIDTH-CLIP_VIEW_LR_MIN) {
self.clipAreaWidth += fabs(offsetX);
self.clipAreaLayer.rightEdge += fabs(offsetX);
} else if (offsetX < 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH){
self.clipAreaWidth -= fabs(offsetX);
self.clipAreaLayer.rightEdge -= fabs(offsetX);
}
}
break;
case CLIP_AREA_LT:
{
offsetX = movePoint.x-self.clipAreaLayer.leftEdge;
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.leftEdge += fabs(offsetX);
self.clipAreaLayer.topEdge += fabs(offsetY);
}else if (offsetX < 0 && offsetY < 0 && self.clipAreaLayer.leftEdge >= CLIP_VIEW_LR_MIN && self.clipAreaLayer.topEdge >= CLIP_VIEW_TOP_MIN){
self.clipAreaWidth += fabs(offsetX);
self.clipAreaHeight += fabs(offsetY);
self.clipAreaLayer.leftEdge -= fabs(offsetX);
self.clipAreaLayer.topEdge -= fabs(offsetY);
[self scaleImgForTop];
}
}
break;
case CLIP_AREA_LB:
{
offsetX = movePoint.x |