- (
void
)viewDidPan:(
UIPanGestureRecognizer
*)sender
{
CGPoint
p = [sender
translationInView
:
self
.
superview
];
if (sender. state == UIGestureRecognizerStateBegan ){
_initialPoint = self . center ;
}
CGFloat newCenterX = _initialPoint . x + p. x ;
if (newCenterX < 0 ) {
newCenterX = 0 ;
} else if (newCenterX > self . superview . bounds . size . width ) {
newCenterX = self . superview . bounds . size . width ;
}
CGFloat newCenterY = _initialPoint . y + p. y ;
if (newCenterY < 0 ) {
newCenterY = 0 ;
} else if (newCenterY > self . superview . bounds . size . height ) {
newCenterY = self . superview . bounds . size . height ;
}
self . center = CGPointMake (newCenterX, newCenterY);
if (sender. state == UIGestureRecognizerStateBegan ){
_initialPoint = self . center ;
}
CGFloat newCenterX = _initialPoint . x + p. x ;
if (newCenterX < 0 ) {
newCenterX = 0 ;
} else if (newCenterX > self . superview . bounds . size . width ) {
newCenterX = self . superview . bounds . size . width ;
}
CGFloat newCenterY = _initialPoint . y + p. y ;
if (newCenterY < 0 ) {
newCenterY = 0 ;
} else if (newCenterY > self . superview . bounds . size . height ) {
newCenterY = self . superview . bounds . size . height ;
}
self . center = CGPointMake (newCenterX, newCenterY);
}