Guest User

Untitled

a guest
Aug 16th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. setCenter moves to wrong position on device only
  2. -(void)move:(id)sender {
  3. [[[(UITapGestureRecognizer*)sender view] layer] removeAllAnimations];
  4. [self.frameView bringSubviewToFront:[(UIPanGestureRecognizer*)sender view]];
  5. CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:self.view];
  6.  
  7. if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan) {
  8. firstX = [[sender view] center].x;
  9. firstY = [[sender view] center].y;
  10. }
  11.  
  12. translatedPoint = CGPointMake(firstX+translatedPoint.x, firstY+translatedPoint.y);
  13. [[sender view] setCenter:translatedPoint];
  14.  
  15. if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {
  16. CGFloat finalX = translatedPoint.x;
  17. CGFloat finalY = translatedPoint.y;
  18. // NSLog(@"final y,y %1.1f, %1.1f", finalX, finalY);
  19.  
  20.  
  21. // prevent from going off screen
  22. if(finalX < 10) {
  23. finalX = 10;
  24. }
  25.  
  26. else if(finalX > 270) {
  27. finalX = 270;
  28. }
  29.  
  30. if(finalY < 10) {
  31. finalY = 10;
  32. }
  33.  
  34. else if(finalY > 186) {
  35. finalY = 186;
  36. }
  37.  
  38.  
  39. [UIView animateWithDuration:0.3
  40. animations:^{
  41. [[sender view] setCenter:CGPointMake(finalX, finalY)];
  42. }
  43. completion:^(BOOL finished){
  44. }];
Add Comment
Please, Sign In to add comment