Loop Animation on several UIButton's NSLayoutConstraint
I'm not completely familiar with animating auto-layout constraints.  Fortunately (or unfortunately), I've not yet ever had the need to do this.  So, I'm not sure if there's a better way, but I'd say if it's working, that's a good sign.

What I do want to comment on is your readability:


constraint.constant = toShow?0:-theButton.frame.size.width;
[self.view setNeedsUpdateConstraints];



I don't mind ternary operators.  But I think you really need to include some white space.  When it's all smushed together, and including the negative sign, I had to do a double take before I realized what's going on.

constraint.constant = toShow ? 0 : -theButton.frame.size.width;





[UIView animateWithDuration:1 delay:i *(toShow?0.1:0.05) usingSpringWithDamping:10 initialSpringVelocity:toShow?20:-20

  
  options:UIViewAnimationOptionCurveEaseIn animations:^{
          [self.view layoutIfNeeded];
      } completion:nil];


This method call suffers the same problems as before with the smushed ternary operator, except it's worse because this method has so many more arguments and you're calculating so much in line and you're not using any vertical space.

I'd rewrite this as such:

CGFloat animationDelay = i * (toShow ? 0.1 : 0.05);
CGFloat springVelocity = toShow ? 20 : -20;

[UIView animateWithDuration:1
                      delay:animationDelay
     usingSpringWithDamping:10
      initialSpringVelocity:springVelocity
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^{

    [self.view layoutIfNeeded];

               } completion:nil];


With that spacing, even if we kept the ternaries in-line, it's still significantly more readable with a single argument per line.