我想为UiSlider设置动画,例如0.25到0.75然后回来.这应该向用户显示要做什么.
我试过这个:
[self incrementCounter:[NSNumber numberWithInt:0]]; -(void) incrementCounter:(NSNumber *)i { [Slider setValue:[i floatValue]/1000]; [self performSelector:@selector(incrementCounter:) withObject:[NSNumber numberWithInt:i.intValue+1] afterDelay:0.001]; }
但那不是那么顺利……我可以使用转换吗?
[Slider setValue:1 animated:YES];
快要…
[UIView animateWithDuration:2.0 animations:^{ [Slider setValue:0.2]; }]; [UIView animateWithDuration:2.0 animations:^{ [Slider setValue:0.5]; }];
只是动画第二个……
解决方法
您需要通过将第二个动画放在第一个动画的完成块中来链接动画:
-(IBAction)animateSlider:(id)sender { [UIView animateWithDuration:2 animations:^{ [self.slider setValue:.75]; } completion:^(BOOL finished) { [UIView animateWithDuration:2 animations:^{ [self.slider setValue:0.25];//or `[self.slider setValue:(.75)-(.5*finished)];` if you want to be safe }]; }]; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。