title: UIDynamicAnimator/UIAttachmentBehavior jiggle?
body: <p>While working with the new physics engine in iOS7 using Xcode 5.1.1 I wrote the following code:</p>
  
  <pre><code>#import "ZViewController.h"
  
  @interface ZViewController ()
  @property (nonatomic, strong) UIView *cardView;
  @property (nonatomic, strong) UIDynamicAnimator *animator;
  @property (nonatomic, strong) UIAttachmentBehavior *attachment;
  @end
  
  @implementation ZViewController
  
  - (void)viewDidLoad{
      [super viewDidLoad];
  
      self.cardView = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)];
      self.cardView.backgroundColor = [UIColor lightGrayColor];
      [self.view addSubview:self.cardView];
  
      UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panGestureHandler:)];
      [self.cardView addGestureRecognizer:panGestureRecognizer];
  
      self.animator = [[UIDynamicAnimator alloc]initWithReferenceView:self.view];
  }
  
  - (void)viewWillAppear:(BOOL)animated{
      [super viewWillAppear:animated];
  
      self.cardView.center = self.view.center;
  }
  
  - (void)panGestureHandler:(UIPanGestureRecognizer *)panGesture{
      CGPoint touchPoint = [panGesture locationInView:self.view];
      switch(panGesture.state){
          case UIGestureRecognizerStateBegan:
              self.attachment = [[UIAttachmentBehavior alloc]initWithItem:self.cardView attachedToAnchor:touchPoint];
              [self.animator addBehavior:self.attachment];
              break;
          case UIGestureRecognizerStateChanged:
              touchPoint.x = 160.0;
              self.attachment.anchorPoint = touchPoint;
              break;
          case UIGestureRecognizerStateEnded:
              [self.animator removeBehavior:self.attachment];
              self.attachment = nil;
              break;
          default:
              break;
      }
  }
  
  @end
  </code></pre>
  
  <p>As I was testing this code I discovered a very odd wiggle/jiggle. Dragging the cardView up and down, for the most part, does what is expected, i.e. the cardView glides up and down x-axis centered, but every so often the cardView moves diagonally to the left and diagonally back to the x-axis center. This wiggle doesn't seem to happen consistently but it does appear to always wiggle to the left.</p>
  
  <p>Has anyone seen this before? Any ideas what cause this? How to stop it?</p>
  
  <p>Thanks in advance - AYAL</p>