31

When I switched from iOS 6 to iOS 7 design, I noticed that using the method setValue:animated: no longer animates the sliding process. Has anyone else came across this problem and found a solution?

I'll just add some code to show I've done nothing complicated:

//Variable declaration
IBOutlet UISlider *s; //Connected in the .xib

//Button pressed
- (IBAction)buttonPressed:(id)sender
{
    [s setValue:1 animated:YES];
}

And it jumps straight to 1 after I press the button.

Nate
  • 30,589
  • 12
  • 76
  • 201
Flying_Banana
  • 2,707
  • 2
  • 18
  • 35

1 Answers1

64

Backwards compatible to iOS 4 solution/workaround:

[UIView animateWithDuration:1.0 animations:^{
    [_sliderTest setValue:0.90 animated:YES];
}];

It seems that iOS 7 wont animate unless you specify both this block and animated:YES. iOS 6.0 seems to ignore the animation block and execute its own internal block. Kinda odd. Specify a duration of 2.0 to see iOS 7 animate twice as slow as iOS 6 with the same code.

MechEthan
  • 5,539
  • 1
  • 32
  • 29